首頁  >  文章  >  Linux中的xargs指令及範例

Linux中的xargs指令及範例

不言
不言原創
2019-03-02 16:08:552720瀏覽

xargs是一個Linux/Unix功能強大的命令,用於從標準輸入建置和執行命令列。它接受一個命令的輸出並將其作為另一個命令的參數傳遞。 xargs採用標準輸入,以空格或換行符分隔,並使用後面跟著有項目的任何參數執行命令一次或多次。標準輸入上的空白行將被忽略。

Linux中的xargs指令及範例

範例

範例1:將大量檔案複製到另一個資料夾。

有時我們需要複製一長串文件,在這種情況下,cp指令失敗,錯誤「參數清單太長」。我們可以使用xargs來完成這項任務。

# find /home/linuxman/public_html/tecadmin.net/ -type f | xargs -n1 -i cp {} /var/www/backup/

範例2:從資料夾中刪除多個檔案。

有時我們要從資料夾中刪除大量檔案。下面的範例將從/ var / log目錄中刪除所有.log檔案。

# find /var/www/tmp/ -type f | xargs rm -f

上面的指令將無法刪除有空格的檔案。要在xargs指令中處理空格,需要以下指令。

# find /var/www/tmp/ -type f -print0 | xargs -0 rm -f

範例3:計算多個檔案中的行數。

下面的範例將計算/opt目錄及其子目錄中每個.txt檔案的行數

# find /opt -name "*.txt" | xargs wc -l

要處理名稱中包含空格的文件,需要使用以下命令。

# find /opt/ -name "*.log" -print0 | xargs -0 wc -l

範例4:備份所有configuratin檔案。

如果要備份系統中的所有configurtion檔案(副檔名.conf),請使用下列指令。

# find / -name "*.conf" |  xargs tar czf  config.tar.gz
# ls -l config.tar.gz
-rw-r--r--. 1 root root 193310 Apr  1 13:26 config.tar.gz

範例5:將custom delimeter與xargs一起使用。

我們也可以使用自訂刪除器和xargs命令,預設情況下它使用空格和新行作為分隔符號。使用-d參數定義分隔符號。

# echo "1,2,3,4,5" | xargs -d, echo

輸出

1 2 3 4 5

範例6:使用xargs以sepreate行顯示輸出。

在範例5中,輸出以單行顯示,我們也可以指定在單獨行中顯示每個輸出。

# echo "1,2,3,4,5" | xargs -d, -L 1 echo

輸出

1
2
3
4
5

#範例7:處理檔案名稱或路徑中的空白區域。

要處理名稱中的空格,請使用-print0和find指令,使用-0和xargs指令作為參數。

#  find /tmp -print0 | xargs -0 -L 1 echo

這篇文章到這裡就已經全部結束了,更多精彩內容大家可以關注php中文網的其他相關欄位教學! ! !

以上是Linux中的xargs指令及範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn