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

 

發佈了57 篇原創文章 · 獲贊 48 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章