分组及传递输出结果到下一个命令【xargs】
xargs的简介
xargs(英文全拼: eXtended ARGuments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。
xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。
xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。
xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令
常用参数:
-n【后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的】
-d【delim 分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符】
-i【把前面的结果关联到后面的{}符号中】
-I【指定任何符号关联前面所得的结果】
语法:xargs -n 2 <a.txt【将a.txt以2组方式显示】
PS: xargs 一般是和管道一起使用
管道:|【把前面所得到的结果交给后面得命令进行处理,可以一直接管道去执行操作】
语法:find /date -type f -name 'a.txt' | xargs -i rm {}【一般搭配 xargs 命令使用意为:把前面的结果排成一行】
find /data -type f -name "*.txt"|xargs -i mv {} /test find /data -type f -name "*.txt"|xargs -I [] mv [] /test
find /data -type f -name "*.txt" | xargs -i rm {}
浙公网安备 33010602011771号