xargs命令在linux系统中主要用于给其他命令传递参数,因此xargs命令通常结合其他命令一起使用。xargs命令能够过滤数据,传递参数,主要是因为该命令可以处理从标准输入(stdin)或管道符输入的数据,并将数据转换成命令行参数,传递给其他命令。
命令格式:xargs 参数;参数可以为空。
参数说明
-a参数:从文件读取内容作为标准输入的数据,如图1命令1。
-d参数:自定义分隔符,xargs命令默认的分隔符是回车,-d参数则是可以指定分隔符,如图2,不过xargx禁止使用引号和反斜杠作为分隔符。
-E参数:表示结束符,结束符必须是用空格分割的字符,xargs命令解析到该字符时,会自动结束,如图。还有另外一种参数格式,--eof=结束符(如图命令2)。
-n参数:表示传递参数的次数,默认是全部,如图,
-t参数:表示先打印命令,然后再执行。
-p参数:表示每执行一个参数的时候,都要询问用户,需要输入回车确认。
-I(大写i):表示将xargs解析的每项参数都赋值给{},如图。
-0参数:表示以’\0’为分隔符,xargs命令使用该参数时,通常是和find命令结合使用。
实例
将指定后缀的文件批量复制到指定目录中:ls *.txt | xargs -n 1 -I {} cp {} /root/。
查找指定目录下,指定类型的文件,并使用cat命令,显示文件的内容:find /root/Documents/ -name "*.txt" -print0 | xargs -d '\0' cat。