xargs的i参数使用

  • 2018-12-11
  • 浏览 (1599)

有些时候命令希望管道传递的是参数,但是直接用管道有时无法传递到命令的参数位,这时候需要xargs,xargs实现的是将管道传输过来的stdin进行处理然后传递到命令的参数位上。也就是说xargs完成了两个行为:处理管道传输过来的stdin;将处理后的传递到正确的位置上。

xargs与find经常结合来进行文件操作,平时删日志的时候只是习惯的去删除,比如
find . -type f -name "*.log" | xargs rm -rf *
关闭我们不常用的服务
chkconfig |grep 3:on | awk '{print $1}' | grep -Ev "sshd|network|crond|sysstat|rsyslog|mysql" | xargs -I{} chkconfig {} off
ps:
1、加-i 参数直接用 {}就能代替管道之前的标准输出的内容
2、加 -I 参数需要事先指定替换字符
0  赞