xargs命令手冊
xargs:過濾器
功能描述
args命令是給其他命令傳遞參數(shù)的一個過濾器,也是組合多個命令的一個工具。它擅長將標(biāo)準(zhǔn)輸入數(shù)據(jù)轉(zhuǎn)換成命令行參數(shù),xargs能夠處理管道或者 stdin 并將其轉(zhuǎn)換成特定命令的命令參數(shù)。
args也可以將單行或多行文本輸入轉(zhuǎn)換為其他格式,例如多行變單行,單行變多行。xargs的默認(rèn)命令是 echo,空格是默認(rèn)定界符。這意味著通過管道傳遞給 xargs的輸入將會包含換行和空白,不過通過 xargs 的處理,換行和空白將被空格取代。xargs是構(gòu)建單行命令的重要組件之一。
命令語法
?xargs?[選項(xiàng)]
常用選項(xiàng)
| 選項(xiàng) | 描述 |
|---|---|
| -n | 多行輸出 |
| -d | 自定義一個定界符 |
| -I | 指定一個替換字符串{} |
| -t | 打印出 xargs 執(zhí)行的命令 |
| -p | 執(zhí)行每一個命令時彈出確認(rèn) |
參考實(shí)例
實(shí)例1
xargs用作替換工具,讀取輸入數(shù)據(jù)重新格式化后輸出:
//?(1)定義一個測試文件,內(nèi)有多行文本數(shù)據(jù):
[root@cnLinuxer?~]#?cat?data.txt
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
//?(2)多行輸入單行輸出:
[root@cnLinuxer?~]#?cat?data.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
//?(3)結(jié)合-n選項(xiàng)多行輸出:
[root@cnLinuxer?~]#?cat?data.txt?|?xargs?-n6
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
//?(4)結(jié)合-d選項(xiàng)可以自定義一個定界符:
[root@cnLinuxer?~]#?echo?"myQnameQisQlinuxer"?|?xargs?-dQ
my?name?is?linuxer
實(shí)例2
讀取stdin,將格式化后的參數(shù)傳遞給命令
//?復(fù)制所有圖片文件到?/images 目錄下:
[root@cnLinuxer?~]#?ls?*.jpg?|?xargs?-n1?-I?cp?{}?/images
//?打印出 xargs 執(zhí)行的命令:
[root@cnLinuxer?~]#?ls?|?xargs?-t?-I{}?echo?{}
//?執(zhí)行每一個命令時彈出確認(rèn),當(dāng)你需要非常準(zhǔn)確的確認(rèn)每一次操作時:
[root@cnLinuxer?~]#?find?.?-maxdepth?1?-name?"*.log"?|?xargs?-p?-I{}?rm?{}
有收獲,點(diǎn)個在看?
評論
圖片
表情
