xargs 命令使用

概念:

可以通过stdin来进行command的执行,优势在于可以把多行的命令文本,每次都单一执行。

其中空格、tab、\r、\n都可以作为分隔符。

 

例子:

1. 默认行为:

$ cat args.txt 
args1
args2
args3
$ cat args.txt |xargs
args1 args2 args3

2. 设置每行输出内容:

$ cat args.txt |xargs -n 2   #每行输出最多两个
args1 args2
args3

3.执行shell脚本

# Shell 脚本 test.sh
#!/bin/bash

echo $*'#'


#执行命令
$ cat args.txt | xargs -n 1 ./test.sh 
args1#
args2#
args3#

4.需要固定行尾有默认参数时, -I 跟替换字符串。

$ cat args.txt | xargs  -I ^  ./test.sh ^ -l -p 
args1 -l -p#
args2 -l -p#
args3 -l -p#

5.结合find进行参数查找

$ find . -name '*.txt' | xargs -I ^ sh -c "echo  '\n ^ :'; grep args1 ^"

 ./test/arg.txt :

 ./test/test.txt :

 ./args.txt :
args1

 

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