xargs 命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs 能够处理管道或者 stdin 并将其转换成特定命令的命令参数。
xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。 xargs 的默认命令是 echo,空格是默认定界符。这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。 xargs 是构建单行命令的重要组件之一。
一、基本用法
xargs 用作替换工具,读取输入数据重新格式化后输出。-n 选项指定换行,-d 选项指定分隔符。
|
1 2 3 4 5 6 7 8 9 10 11 12 |
ma@ubuntu:/tmp$ cat tmp # 测试文本内容 a b c d e f gh i jkl ma@ubuntu:/tmp$ cat tmp | xargs # 重新格式化输出 a b c d e f gh i jkl ma@ubuntu:/tmp$ cat tmp | xargs -n 3 # 每三个换行 a b c d e f gh i jkl ma@ubuntu:/tmp$ echo "abcXdefXghiXjkl" | xargs -n3 -dX # 以字符 X 分隔,每三个换行 abc def ghi jkl |