将Grep结果传递给变量和打印

时间:2017-05-15 19:35:28

标签: bash

目录中的文件很少。 我想在文件中找到每个用户。

行示例:

用户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

我想得到结果: UserName = user1;

提前谢谢你。

1 个答案:

答案 0 :(得分:0)

您可以这样简化:

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

  • grep -r:递归grep所有文件
  • awk '{print $2}':打印第2行