xargs

来源:互联网 发布:浪潮软件二级部门 编辑:程序博客网 时间:2024/06/06 14:08

分割符

[root@server tmp]# echo "splitXsplitXsplitXsplit" | xargs -d X -n1splitsplitsplitsplit

xargs 参数替换

[root@server test]# cat a.sh #!/bin/bash# 打印参数echo $*'#'[root@server test]# cat args.txt arg1arg2arg3[root@server test]# cat args.txt | xargs -I {} ./a.sh -l {} -p-l arg1 -p#-l arg2 -p#-l arg3 -p#

一个非常危险的用xargs删除操作

$ find . -type f -name "*.txt" -print | xargs rm -f

很多文件名可能包含空格符, xargs会误以为它们是定界符
“hell text.txt” is misinterpreted by xargs as “hell”
and “text.txt”)
应该这么用, 用print0 把输出用\0(null)隔开

[root@server dir]# find . -regex '.*txt' -print0 |xargs -0 ls -al

吊炸天的子shell执行

[root@server test]# cat args.txt | (while read arg; do echo $arg; done)arg1arg2arg3
0 0