小编典典

如何处理循环中的每个输出行?

all

运行grep命令后,我从文件中检索了许多行,如下所示:

var=`grep xyz abc.txt`

假设我得到了 10 行,结果由 xyz 组成。

现在我需要处理由于 grep 命令而得到的每一行。我该如何进行呢?


阅读 65

收藏
2022-08-08

共1个答案

小编典典

一种简单的方法不是将输出存储在变量中,而是直接使用 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)
2022-08-08