bash – 如何处理作为grep命令的结果接收的每行

前端之家收集整理的这篇文章主要介绍了bash – 如何处理作为grep命令的结果接收的每行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在运行 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’s answer中所说的过程替换:

while read -r line ; do
    echo "Processing $line"
    # your code goes here
done < <(grep xyz abc.txt)

猜你在找的Bash相关文章