xargs
可以將接受到的內(nèi)容轉(zhuǎn)化為后續(xù)命令的參數(shù)穆咐。
語法
xargs [option] someCommand
參數(shù):
-
-I
替換字符串; -
-n
后面跟數(shù)字尔邓,表示命令在執(zhí)行的時候名秀,一次用的參數(shù)個數(shù),默認是所有參數(shù); -
-t
先打印命令温亲,在執(zhí)行程序;
示例:
定義測試文件 test.txt
輸入如下內(nèi)容:
a b c d e f g
h i j k l m n
o p q
r s t
u v w x y z
-
多行變單行
cat test.txt | xargs
a b c d e f g h i j k l m n o p q r s t u v w x y z
-
多行輸出
cat test.txt | xargs -n3
a b c
d e f
g h i
j k l
m n o
p q r
s t u
v w x
y z
-
替換
創(chuàng)建 a.js
, b.js
, c.js
文件, 修改 js
后綴為 .js.backup
ls *.js | xargs -t -I {} mv {} {}.backup
mv a.js a.js.backup
mv b.js b.js.backup
mv c.js c.js.backup
先列舉出所有的 js 文件
然后把 js 文件重命名棚壁,后綴統(tǒng)一修改為
.js.backup
其中:
-t
表示打印參數(shù)內(nèi)容
-I
表示替換
{}
表示以 {}
來代替每一個 js 文件,該字符串可以其他字符串來代替, 例如: ls *.js | xargs -t -I $ mv $ $.backup