首頁 > 常見問題 > 主體

Linux中的xargs指令及範例

不言
發布: 2019-03-02 16:08:55
原創
2699 人瀏覽過

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!