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)

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...