2017-05-15 33 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}':打印线