我使用以下sed
脚本执行一些查找和替换:
parallel --pipepart --block 1000M -a input.txt sed -ise 's/cat/dog/g; s/abc/xyz/g; s/def/22/g' > output.txt
但是我得到以下错误:
sed: no input files
我尝试删除-i
选项,但结果仍然相同。
input.txt文件包含字母和数字的组合,大约包含3000万行
您需要-q
:
parallel -q --pipepart --block 1000M -a input.txt sed -se 's/cat/dog/g; s/abc/xyz/g; s/def/22/g' > output.txt
要理解为什么:
- https://www.gnu.org/software/parallel/man.html引用
- https://www.gnu.org/software/parallel/parallel_design.html Always-running-commands-in-a-shell
--block -1 --lb
可能比--block 1000M
更有效。