我的files.txt服务器上有一个文本文件,每行都是一个带有完整路径的文件,例如/home/lelouch/dir/randomfile.txt.
我想循环遍历files.txt,并将每个文件名传递给另一个脚本.
我已经让这个像这样工作:
cat /home/lelouch/dir/files.txt | xargs -0 -n 1 -P 30 /home/lelouch/bin/script.
Run Code Online (Sandbox Code Playgroud)
问题是,虽然我想一次处理30个文件,但它一次只发生1个文件.我尝试了其他一些方法,但我还没有像我想的那样工作.
有任何想法吗?
你说每一行都是一个文件路径,但你使用的-0选项是xargs,它将分隔符从换行符切换为空字符.从man页面:
输入项由空字符而不是空格终止,引号和反斜杠不是特殊的(每个字符都按字面意思)....
不要使用-0选项:
cat /home/lelouch/dir/files.txt | xargs -P 30 -n 1 /home/lelouch/bin/script
Run Code Online (Sandbox Code Playgroud)