![Gnu 并行和管道](https://linux22.com/image/623459/Gnu%20%E5%B9%B6%E8%A1%8C%E5%92%8C%E7%AE%A1%E9%81%93.png)
我想将文件的每一行发送到另一个程序的标准输入,例如
输入.txt
line1
line2
line3
我想像这样使用 gnu parallel(即将每一行作为 stdin 传送到 more 命令)
cat input.txt | parallel --pipe more
但它又回来了
/bin/bash: -c: option requires an argument
/bin/bash: -c: option requires an argument
/bin/bash: -c: option requires an argument
/bin/bash: -c: option requires an argument
/bin/bash: -c: option requires an argument
/bin/bash: -c: option requires an argument
/bin/bash: -c: option requires an argument
/bin/bash: -c: option requires an argument
我想要的是(可能由于平行而顺序不同)
line1
line2
line3
有人有这个想法吗?
答案1
尝试:
cat input.txt | parallel -N1 --pipe wc
答案2
尝试 ....
cat input.txt | xargs -I {} more {}
或 ... cat input.txt | parallel more