linux下xargs命令用法詳解

來源:互聯網
上載者:User
linux下xargs命令用法詳解日期:2010-01-13     來自:互連網    瀏覽:11945

linux下xargs命令用法詳解:
xargs在linux中是個很有用的命令,它經常和其他命令組合起來使用,非常的靈活.
xargs是給命令傳遞參數的一個過濾器,也是組合多個命令的一個工具.它把一個資料流分割為一些足夠小的塊,以方便過濾器和命令進行處理.由此這個命令也是後置引用的一個強有力的替換.在一般使用過多參數的命令替換失敗的時候,用xargs來替換它一般都能成功.通常情況下,xargs從管道或者stdin中讀取資料,但是它也能夠從檔案的輸出中讀取資料.
xargs的預設命令是echo.這意味著通過管道傳遞給xargs的輸入將會包含換行和空白,不過通過xargs的處理,換行和空白將被空格取代.如:
bash$ ls -l
total 0
-rwxr-xr-x 2 root root 4096 2009-02-23 090218.txt
-rwxr-xr-x 2 root root 12288 2009-06-08 090607.txt
bash$ ls -l | xargs
090218.txt 090607.txt
bash$ find ~/mail -type f | xargs grep "Linux"
./misc:User-Agent: slrn/0.9.8.1 (Linux)
./sent-mail-jul-2005: hosted by the Linux Documentation Project.
./sent-mail-jul-2005: (Linux Documentation Project Site, rtf version)
./sent-mail-jul-2005: Subject: Criticism of Bozo's Windows/Linux article
. . .
ls | xargs -p -l gzip 使用gzips壓縮目前的目錄下的每個檔案,一次壓縮一個, 並且在每次壓縮前都提示使用者.
注意: 一個有趣的xargs選項是-n NN,NN是限制每次傳遞進來參數的個數.
ls | xargs -n 8 echo以每行8列的形式列出目前的目錄下的所有檔案.
注意: 另一個有用的選項是-0,使用 find -print0 或 grep -lZ 這兩種組合方式. 這允許處理包含空白或引號的參數.
find / -type f -print0 | xargs -0 grep -liwZ GUI | xargs -0 rm -f
grep -rliwZ GUI / | xargs -0 rm -f
上邊兩行都可以用來刪除任何包含"GUI"的檔案。
-i 表示 find 傳遞給xargs的結果 由{}來代替
-I 我認為是和i差不多,可以這麼認為 -i可以用-I {} 來代替
-p 互動式提問y來確認命令的每次執行。
-t 在執行前回顯各個command
還有參數-s 和 -x 具體查手冊.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.