运行grep命令后,我从文件中检索了许多行,如下所示:
var=`grep xyz abc.txt`
假设我得到了 10 行,结果由 xyz 组成。
现在我需要处理由于 grep 命令而得到的每一行。我该如何进行呢?
一种简单的方法不是将输出存储在变量中,而是直接使用 while/read 循环对其进行迭代。
就像是:
grep xyz abc.txt | while read -r line ; do echo "Processing $line" # your code goes here done
这个方案有一些变化,具体取决于你所追求的。
如果您需要更改循环内的变量(并让该更改在循环外可见),您可以使用fedorqui的回答中所述的流程替换:
while read -r line ; do echo "Processing $line" # your code goes here done < <(grep xyz abc.txt)