2017-05-15 34 views
0

我在目錄中有幾個文件。 我想查找文件中的每個用戶。將Grep結果傳遞給變量並打印

行例如:

用戶USER1

用戶user2的

我試圖執行這樣的bash腳本:

#!/bin/bash 

DIRECTORY=/files 

for file in `ls $DIRECTORY/*; do 
     while read row; do 
       user=$(grep -oP 'user \s' $row) 
       echo "UserName = $user" 
     done < $file 
done 

我想要的結果: 用戶名= USER1 ;

謝謝您提前。

+1

只是好奇,你在哪裏的第二排學習在''ls $ DIRECTORY/* \''中做文件'? – 123

+0

來自我公司的人 – Truskify

回答

0

可以簡化這樣的:

grep -r "user" $DIRECTORY | awk '{print "UserName = "$2}'

  • grep -r:遞歸grep的所有文件
  • awk '{print $2}':打印線