是否可以使xargs只使用换行符作为分隔符?(在Linux和OS上的bash (如果这重要的话))
我知道-0是可以使用的,但是它很简单,因为并不是每个命令都支持以NUL分隔的输出。
发布于 2010-03-31 01:39:48
与…有关的东西
alias myxargs='perl -p -e "s/\n/\0/;" | xargs -0'
cat nonzerofile | myxargs command应该行得通。
发布于 2010-04-04 12:42:46
GNU (默认为Linux;从OS上的findutils安装MacPorts以获取它)支持输入-d,它允许您指定自定义分隔符。,所以您可以这样做
ls *foo | xargs -d '\n' -P4 foo 发布于 2010-04-01 11:20:32
使用Bash时,我通常倾向于避免使用xargs,只要是最不需要技巧的,而倾向于使用With read循环。对于您的问题,while read -ar LINE; do ...; done完成了这项工作(请记住在行中使用数组语法,例如,整行的${LINE[@]} )。这不需要任何欺骗:默认情况下,read只使用\n作为行结束符字符。
我应该在上面贴一个关于xargs和边读循环的利弊的问题.完成了!
https://serverfault.com/questions/127904
复制相似问题