是否可以仅xargs使用换行符作为分隔符?(如果重要的话,在 Linux 和 OS X 上的 bash 中)
我知道-0可以使用,但它是 PITA,因为并非每个命令都支持 NUL 分隔的输出。
Jam*_*mes 69
GNU xargs(Linux 上的默认值;findutils从 OS X 上的 MacPorts安装以获取它)支持-d允许您为输入指定自定义分隔符,因此您可以执行
ls *foo | xargs -d '\n' -P4 foo
Run Code Online (Sandbox Code Playgroud)
小智 22
类似的东西
alias myxargs='perl -p -e "s/\n/\0/;" | xargs -0'
cat nonzerofile | myxargs command
Run Code Online (Sandbox Code Playgroud)
应该管用。
$ echo "1\n2 3\n4 5 6" | xargs -L1 echo "#"
# 1
# 2 3
# 4 5 6
Run Code Online (Sandbox Code Playgroud)