这篇文章使用具体示例来介绍一下xargs命令-I参数的常见使用方法。
GNU args vs 其他
注意不同的情况下xargs的使用可能会有细节上的区别,而这些可以通过man来确认,比如CentOS 7下man的内容清晰地提示,这是GNU版本的xargs
而MacOS上的说明可能是这样的:
需要注意的是-I选项的使用细节和限制也略有区别,GNU xargs的-I选项说明如下所示:
MacOS的xargs的-I使用说明如下所示:
可以看到二者是有一些明显的区别的。
-I vs -i
- 新旧POSIX标准的不同
-i是1997年的POSIX标准中所支持的选项,而在2004年的POSIX标准中已被移除,所以尽可能的使用-I而不是-i。
- 是否可以指定占位符
-i使用缺省的占位符{},而-I是可以指定的,所以在使用上也显示有不同
使用示例:
[root@liumiaocn easypack]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@liumiaocn easypack]#
[root@liumiaocn easypack]# find . -name "*.tar.gz&#