與find一起使用
場景:統計一個源代碼目錄中所有js文件的行數:
find . -type f -name "*.js" -print0 | xargs -0 wc -l
與grep一起使用
場景:刪除匹配文件:
#測試文件:
echo "aaa" > file1
echo "bbb" > file2
echo "aaa" > file3
grep "aaa" file* -lZ | xargs -0 rm
執行後會刪除file1和file3,grep輸出用-Z選項來指定以0值字節作爲終結符文件名(\0),xargs -0 讀取輸入並用0值字節終結符分隔文件名,然後刪除匹配文件,-Z通常和-l結合使用。
與cp一起使用
場景:複製所有圖片文件到 /data/images 目錄下
ls *.jpg | xargs -n1 -I cp {} /data/images
xargs的一個選項-I,使用-I指定一個替換字符串{},這個字符串在xargs擴展時會被替換掉,當-I與xargs結合使用,每一個參數命令都會被執行一次