bash - 如何逐行评估流

标签 bash shell unix

我试图避免创建任何新文件来存储输出,以尽量减少覆盖同名目录中某些内容的风险。我试图用管道评估流中的每一行,而不是输出到文件,然后使用 while read line do done < file环形。像这样的东西:

echo -e "1\n2\n3\n4\n5" | #evaluate current line separately#

我能否以某种方式将每一行读入一个数组,然后计算数组中的元素?还是有更好的方法来避免意外覆盖文件?

最佳答案

bash中,常用的方法是使用Process Substitution:

while read line ; do
    ...
done < <( commands producing the input)

关于bash - 如何逐行评估流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11792508/

相关文章:

linux - 命令行魔法

bash - 如何获取管道中进程的PID

java - 当程序错误退出时如何在终端中重新启动程序?

linux - shell脚本中的内联变量

linux - 当另一个进程在 Linux 中结束时终止后台进程

regex - 使用 grep+regex 从输出中获取特定值并存储在 shell 中的变量中

c++ - 使用 C++ 排队多个 system() 命令

linux - 什么是绝对路径名与相对路径名

linux - 用于连接 2 个单独的文本文件并添加指定文本的脚本

linux - 在 Linux 中替换 bash 中的 XML 值