如何将一些输入逐行传递给命令行(即对每一行调用命令)?
xargs
不起作用,因为它将行作为参数传递,而不是作为标准输入。
出现这种情况的具体情况是解码一个以 base64 编码的字符串为行的文件。
答案1
可以用while循环完成:
produce | while IFS= read -r line; do echo "$line" | process; done | consume
(对于一些任意的produce
、process
、consume
命令,它们都使用标准输入/输出)但是没关系。必须有一种更优雅的方式来做到这一点。