如何逐行评估流

bqu*_*i56 4 unix bash shell

我试图避免创建任何新文件来存储输出,以最大限度地减少覆盖具有相同名称的目录中的内容的风险.我试图用管道评估流中的每一行,而不是输出到文件,然后使用while read line do done < file循环.就像是:

echo -e "1\n2\n3\n4\n5" | #evaluate current line separately#
Run Code Online (Sandbox Code Playgroud)

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

cho*_*oba 8

bash,常见的方法是使用过程替换:

while read line ; do
    ...
done < <( commands producing the input)
Run Code Online (Sandbox Code Playgroud)