xargs单参数
xargs通常我们用来处理流数据,比如说批量kill python脚本,或者批量删除文件
1 2
| ps aux|grep python|awk '{print $2}'|xargs kill find . -name "*.log"|xargs rm -rf
|
xargs多参数
通常情况下我们用xargs处理一个参数即可,但是有时候我们需要批量重命名或者批量改后缀。我们则需要深入的了解xargs
-t 输出当前运行的命令
-I 表示把当前处理的参数用{}表示,这样后续的命令可以用{}来处理。
1 2
| find . -name "*.txt"|awk -F'.txt' '{print $1}'|xargs -t -I {} cp {}.txt {}.log
|
cp ./1.txt ./1.log
cp ./2.txt ./2.log
cp ./3.txt ./3.log
1 2
| who|awk '{print $2}'|xargs -t -I {} pkill -kill -t {}
|
pkill -kill -t pts/0
pkill -kill -t pts/2
pkill -kill -t pts/3
pkill -kill -t pts/4
pkill -kill -t pts/5
pkill -kill -t pts/6
pkill -kill -t pts/7
pkill -kill -t pts/8
pkill -kill -t pts/9
pkill -kill -t pts/10
pkill -kill -t pts/11
pkill -kill -t pts/12
pkill -kill -t pts/13
pkill -kill -t pts/14
pkill -kill -t pts/15
pkill -kill -t pts/16
pkill -kill -t pts/17
pkill -kill -t pts/18
pkill -kill -t pts/19