玩转xargs

玩转xargs

1、我们可以用一个管道将一个命令的stdout重定向到另一个命令的stdin,例如

$cat a.txt | grep "abc"

2、xargs命令把从stdin接收到的数据重新格式化,再将其作为参数提供给其他命令

$cat example.txt #样例文件

1 2 3 4 5 6

7 8 9 10

11 12

$cat example.txt | xargs      #多行输入转换为单行

1 2 3 4 5 6 7 8 9 10 11 12

$cat example.txt | xargs -n 3   #指定每行参数数量

1 2 3

4 5 6

7 8 9

10 11 12

$echo "splitXsplitXsplitXsplit" | xargs -d X   #用-d选项作为指定一个定制的定界符

split split split split

$echo "splitXsplitXsplitXsplit" | xargs -d X -n 2  #用-d选项作为指定一个定制的定界符,并且指定每行n个参数

#!/bin/bash
#文件名:echo.sh

echo $@'#'

$cat args.txt | xargs -n 2 ./echo.sh #每次执行需要2个参数命令时

你可能感兴趣的:(linux,unix,shell)