微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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)

原文地址:https://www.jb51.cc/bash/392199.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐