下面我們來看看xargs有哪些參數可以選擇.
-a file
: 從file中讀入數據
$cat 1.txt aaa bbb ccc ddd a b $xargs -a 1.txt aaa bbb ccc ddd a b
-0
: 當輸入有特殊字符時,將其當作一般字符處理,比如""和空格
$echo "http:// " | xargs // $echo "http:// " | xargs -0 //
-d
: 指定分隔符
$cat 1.txt
aaa bbb ccc ddd
a b $cat 1.txt | xargs -d 'c' aaa bbb ddd
a b
-E eof-str
: 指定結束標志為eof-str,xargs處理到這個標志就會停止
$xargs -E 'ddd' -a 1.txt
aaa bbb ccc $xargs -E 'dd' -a 1.txt
aaa bbb ccc ddd a b $cat 1.txt | xargs -E 'ddd' aaa bbb ccc
-I replace-str
: 將每行輸入輸入內容替換為replace-str
$cat 1.txt
aaa bbb ccc ddd
a b $cat 1.txt | xargs -t -I {} echo {} >> 1.txt echo aaa bbb ccc ddd echo a b $cat 1.txt
aaa bbb ccc ddd
a b
aaa bbb ccc ddd
a b
-i
: 等同于-I{}
$cat 1.txt
aaa bbb ccc ddd
a b $cat 1.txt | xargs -t -i echo {} >> 1.txt echo aaa bbb ccc ddd echo a b $cat 1.txt
aaa bbb ccc ddd
a b
aaa bbb ccc ddd
a b
-L max-lines
: 每次讀取max-line行輸入交由xargs處理
$cat 1.txt
aaa bbb ccc ddd
a b $cat 1.txt |xargs -L 2
aaa bbb ccc ddd a b $cat 1.txt |xargs -L 1
aaa bbb ccc ddd
a b
-l
: 類似于-L,區別在于-l可以不指定參數,默認為1.
-n max-args
: 每行執行max-args個輸入,默認執行所有
$cat 1.txt | xargs -n 2
aaa bbb
ccc ddd
a b
-p
: 交互模式,執行前詢問是否執行
$cat 1.txt | xargs -p
/bin/echo aaa bbb ccc ddd a b ?...y
aaa bbb ccc ddd a b $cat 1.txt | xargs -p
/bin/echo aaa bbb ccc ddd a b ?...n
-r
: 無輸入則停止執行,默認至少執行1次
$ echo ""|xargs -t mv
mv mv: missing file operand
Try `mv --help` for more information.
$ echo ""|xargs -t -r mv #直接退出
-s max-chars
: xargs每次執行命令的最大長度(含空格)
$ cat 1.txt
aaa bbb ccc ddd a b
$ cat 1.txt |xargs -t -s 30 /bin/echo aaa bbb ccc ddd a b
aaa bbb ccc ddd a b #length(/bin/echo aaa bbb ccc ddd a b )=30 $cat 1.txt |xargs -t -s 14 /bin/echo aaa
aaa
/bin/echo bbb
bbb
/bin/echo ccc
ccc
/bin/echo ddd
ddd
/bin/echo a b
a b #length(/bin/echo aaa )=14
-t
: 先打印執行的命令,然后執行
$cat 1.txt | xargs -t
/bin/echo aaa bbb ccc ddd a b
aaa bbb ccc ddd a b
-x
: 當xargs執行的命令長度大于-s max-char時,停止執行
-P max-procs
: 修改線程數,默認為單線程.max-procs為0時,as many processes as possible
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。