xargs 是給命令傳遞參數的一個過濾器,也是組合多個命令的一個工具。
xargs 可以將管道或標準輸入(stdin)數據轉換成命令行參數,也能夠從文件的輸出中讀取數據。
xargs 也可以將單行或多行文本輸入轉換為其他格式,例如多行變單行,單行變多行。
xargs 默認的命令是 echo,這意味著通過管道傳遞給 xargs 的輸入將會包含換行和空白,不過通過 xargs 的處理,換行和空白將被空格取代。
xargs 是一個強有力的命令,它能夠捕獲一個命令的輸出,然後傳遞給另外一個命令。
1.多行內容的單輸出且每行3個
![XARGS 命令簡析](http://p2.ttnews.xyz/loading.gif)
2.查找系統中的每一個普通文件,然後使用xargs命令來測試它們分別屬於哪類文件
![XARGS 命令簡析](http://p2.ttnews.xyz/loading.gif)
3.輸出替換
* -i:默認替換字符為{}、-I:指定替換字符,一般為{}、可替換成$ @等符號、一般是{}。
* 建議使用-I,其符合POSIX標準。
* -t 表示先打印命令,然後再執行。
* -i 或者是-I,這得看linux支持了,將xargs的每項名稱,一般是一行一行賦值給 {},可以用 {} 代替。
{}也可以使用其他的符號來替代,比如@
4.分隔符
5.壓縮命令
查找所有的jpg文件,並且壓縮它們
<code>find . -type -f -name "*.jpg" -print | xargs tar -czvf images.tar.gz/<code>
閱讀更多 三葉草科技之旅 的文章