xargs命令是”extended arguments”的缩写,用作给其他命令传递参数的过滤器。它能够处理从标准输入或管道符输入的数据,并将其转换成命令参数,也可以将单行或多行输入的文本转换成其他格式。xargs命令默认接收的信息中,空格是默认定界符,所以可以接收包含换行和空白的内容。
一、语法格式
xargs 参数 文件名
二、常用参数
常用参数包括:
1、-a: 设置从文件中读取数据。
2、-r: 如果输入数据为空,则不执行。
3、-d: 设置自定义定界符。
4、-s: 设置每条命令最大字符数。
5、-I: 设置替换字符串。
6、-t: 显示xargs执行的命令。
7、-n: 设置多行输出。
8、–help: 显示帮助信息。
9、-p: 执行命令前询问用户是否确认。
10、–version: 显示版本信息。
三、常用参数
以下是一些使用示例:
1、默认以空格为定界符,以多行形式输出文件内容,每行显示3段内容值:
[root@zzbaike ~]# cat File.cfg | xargs -n 3 #version=RHEL8 ignoredisk --only-use=sda autopart --type=lvm# Partition clearing information clearpart --all --initlabel --drives=sda # Use graphical install graphical
2、指定字符X为定界符,默认以单行的形式输出字符串内容:
[root@zzbaike ~]# echo "FirstXSecondXThirdXFourthXFifth" | xargs -dX First Second Third Fourth Fifth
3、指定字符X为定界符,以多行形式输出文本内容,每行显示两段内容值:
[root@zzbaike ~]# echo "FirstXSecondXThirdXFourthXFifth" | xargs -dX -n 2 First Second Third Fourth Fifth
4、设定每一次输出信息时,都需要用户手动确认后再显示到终端界面:
[root@zzbaike ~]# echo "FirstXSecondXThirdXFourthXFifth" | xargs -dX -n 2 -p echo First Second ?...y First Second Third Fourth ?...y Third Fourth Fifth ?...y Fifth
5、由xargs调用要执行的命令,并将结果输出到终端界面:
[root@zzbaike ~]# ls | xargs -t -I{} echo {} echo anaconda-ks.cfg anaconda-ks.cfg echo Desktop Desktop echo Documents Documents
通过这些示例,你可以更好地理解xargs命令的用法及其参数的作用。