Linux命令详解之Xargs命令

功能说明:是向其他命令传递命令行参数的一个过滤器,能够将管道或者标准输入传递的数据转换成Xargs命令后跟随的命令的命令行参数。

语法格式:Xargs 【option】

 

基本参数说明:

                                 -n                         指定每行的最大参数量n,可以将标准输入的文本划分为多行,每行n个参数,默认空格分割 

                                 -d                         自定义分隔符

                                 -i                          以{ }替代前面的结果

                                  -I                         指定一个符号替代前面的结果,而不用-i参数默认的符号。

                                 -p                         提示用户确认是否执行后面的命令

                                 -0(数字0)       用null代替空格作为分隔符,配合find命令的-print0选项的输出使用

使用范例

实例一、

              Linux命令详解之Xargs命令_第1张图片

 

实例二、通过-n参数指定每行输出的个数

               Linux命令详解之Xargs命令_第2张图片

 

实例三、通过-d参数实现自定义分隔符,分割文本内容

               Linux命令详解之Xargs命令_第3张图片

 

实例四、参数-i和-I的使用效果

              Linux命令详解之Xargs命令_第4张图片

注意:(1)-I只是找一个字符替换掉"{}",具有和"{}"一样的含义

           (2)xargs命令后面可以加其他命令,例如本例后面的mv命令,还可以加其他命令。

 

实例五、结合find使用xargs的特殊案例

(1)创建名称带空格的文件

                         Linux命令详解之Xargs命令_第5张图片

(2)利用find命令找到此文件并删除它

                         Linux命令详解之Xargs命令_第6张图片

注意:由于文件名字是有空格的,find将找出来的文件传给xargs,而xargs命令都是以空格为分隔符来识别出不同文件,所以xargs识别错误文件名字,所以出现了没有那个文件或目录,无法删除。

(3)find  -print0和xargs  -0结合使用

 

注意:find的-print0参数在查找完毕后,文件后会加上一个null,依此来分隔不同文件,xargs通过-0参数也是识别null分隔符,所以不会误认为文件名中的空格时分隔符,这样就可以成功删除了。

 

你可能感兴趣的:(Linux命令详解)