Linux xargs 參數列表轉換用法與範例

本篇將介紹如何使用 Linux 下的 xargs 參數列表轉換,以避免參數列表過長的問題,並簡單介紹 xargs 用法與範例。
xargs 使用上一個指令的執行結果作為下個指令的參數,Linux 指令可以管線(pipe)執行,就是在兩個指令之間使用 | 符號,就會將前面指令的輸出結果管線(pipe)作為後面指令的參數,
但如果這中間的輸出結果有包含空白這種特殊字元的話,因為參數預設以空白為分隔,那這樣結果就會出錯,這時候就要用到 xargs 來解決這類型問題。

範例

尋找副檔名 .jpg 檔案在透過 xargs 導給 mv 作搬移,
第二種是找到檔案路徑有包含空白的話可以透過 -print0-0 的參數搭配,

1
2
3
find ./ -name "*.jpg" | xargs mv out/
or
find ./ -name "*.jpg" -print0 | xargs -0 mv out/

尋找副檔名 .jpg 檔案在透過 xargs 導給 rm 作刪除,
第二種是找到檔案路徑有包含空白的話可以透過 -print0-0 的參數搭配,

1
2
3
find ./ -name "*.jpg" | xargs rm -f
or
find ./ -name "*.jpg" -print0 | xargs -0 rm -f

尋找副檔名 .jpg 檔案在透過 xargs 導給 rm 作複製,
第二種是找到檔案路徑有包含空白的話可以透過 -print0-0 的參數搭配,

1
2
3
find ./ -name "*.jpg" | xargs cp out/
or
find ./ -name "*.jpg"-print0 | xargs -0 cp out/

尋找副檔名 .jpg 檔案在透過 xargs 導給 ls 看檔案資訊,

1
find ./ -name "*.jpg" | xargs ls -al

參考
Linux 系統 xargs 指令範例與教學 - G. T. Wang
https://blog.gtwang.org/linux/xargs-command-examples-in-linux-unix/
Linux xargs 命令 | 菜鸟教程
https://www.runoob.com/linux/linux-comm-xargs.html
Ubuntu Linux 用 xargs 指令處理大量檔案
https://www.arthurtoday.com/2015/03/ubunut-linux-xargs-command-examples.html
xargs - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/Xargs

其它相關文章推薦
Linux 常用指令教學懶人包
Linux cut 字串處理用法與範例
Linux sed 字串取代用法與範例
Linux find 尋找檔案/尋找資料夾用法與範例
Linux grep/ack/ag 搜尋字串用法與範例
Linux tee 同時螢幕標準輸出和輸出到檔案用法與範例
Linux tail 持續監看檔案輸出用法與範例
Linux du 查詢硬碟剩餘空間/資料夾容量用法與範例
Linux wget 下載檔案用法與範例