中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中的xargs命令怎么用

發布時間:2022-02-02 10:05:35 來源:億速云 閱讀:157 作者:小新 欄目:開發技術

這篇文章主要介紹Linux中的xargs命令怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

在Linux系統中,find命令把匹配到的文件傳遞給xargs命令,而xargs命令每次只獲取一部分文件而不是全部,xargs要處理的文件如果不是在結尾,需要加上 -i這個參數。

Linux中的xargs命令怎么用

命令格式:

 somecommand |xargs -item  command

參數:

  • -a file 從文件中讀入作為sdtin

  • -e flag ,注意有的時候可能會是-E,flag必須是一個以空格分隔的標志,當xargs分析到含有flag這個標志的時候就停止。

  • -p 當每次執行一個argument的時候詢問一次用戶。

  • -n num 后面加次數,表示命令在執行的時候一次用的argument的個數,默認是用所有的。

  • -t 表示先打印命令,然后再執行。

  • -i 或者是-I,這得看linux支持了,將xargs的每項名稱,一般是一行一行賦值給 {},可以用 {} 代替。

  • -r no-run-if-empty 當xargs的輸入為空的時候則停止xargs,不用再去執行了。

  • -s num 命令行的最大字符數,指的是 xargs 后面那個命令的最大命令行字符數。

  • -L num 從標準輸入一次讀取 num 行送給 command 命令。

  • -l 同 -L。

  • -d delim 分隔符,默認的xargs分隔符是回車,argument的分隔符是空格,這里修改的是xargs的分隔符。

  • -x exit的意思,主要是配合-s使用。。

  • -P 修改最大的進程數,默認是1,為0時候為as many as it can ,這個例子我沒有想到,應該平時都用不到的吧。

實例

xargs 用作替換工具,讀取輸入數據重新格式化后輸出。

定義一個測試文件,內有多行文本數據:

 # cat test.txt
 
 a b c d e f g
 h i j k l m n
 o p q
 r s t
 u v w x y z

多行輸入單行輸出:

 # cat test.txt | xargs
 a b c d e f g h i j k l m n o p q r s t u v w x y z

-n 選項多行輸出:

 # cat test.txt | xargs -n3
 
 a b c
 d e f
 g h i
 j k l
 m n o
 p q r
 s t u
 v w x
 y z

-d 選項可以自定義一個定界符:

 # echo "nameXnameXnameXname" | xargs -dX
 
 name name name name

結合 -n 選項使用:

 # echo "nameXnameXnameXname" | xargs -dX -n2
 
 name name
 name name

讀取 stdin,將格式化后的參數傳遞給命令

假設一個命令為 sk.sh 和一個保存參數的文件 arg.txt:

 #!/bin/bash
 #sk.sh命令內容,打印出所有參數。
 
 echo $*

arg.txt文件內容:

 # cat arg.txt
 
 aaa
 bbb
 ccc

xargs 的一個選項 -I,使用 -I 指定一個替換字符串 {},這個字符串在 xargs 擴展時會被替換掉,當 -I 與 xargs 結合使用,每一個參數命令都會被執行一次:

 # cat arg.txt | xargs -I {} ./sk.sh -p {} -l
 
 -p aaa -l
 -p bbb -l
 -p ccc -l

復制所有圖片文件到 /data/images 目錄下:

 ls *.jpg | xargs -n1 -I {} cp {} /data/images

xargs 結合 find 使用

用 rm 刪除太多的文件時候,可能得到一個錯誤信息:/bin/rm Argument list too long. 用 xargs 去避免這個問題:

 find . -type f -name "*.log" -print0 | xargs -0 rm -f

xargs -0 將 \0 作為定界符。

統計一個源代碼目錄中所有 php 文件的行數:

 find . -type f -name "*.php" -print0 | xargs -0 wc -l

查找所有的 jpg 文件,并且壓縮它們:

 find . -type f -name "*.jpg" -print | xargs tar -czvf images.tar.gz

xargs 其他應用

假如你有一個文件包含了很多你希望下載的 URL,你能夠使用 xargs下載所有鏈接:

 # cat url-list.txt | xargs wget -c

以上是“Linux中的xargs命令怎么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

藁城市| 沂源县| 芮城县| 体育| 陇西县| 武宣县| 商城县| 西平县| 吴江市| 萨迦县| 鹤壁市| 长武县| 沁源县| 玉山县| 康马县| 凉城县| 六安市| 遵义市| 六枝特区| 克拉玛依市| 太仆寺旗| 延吉市| 特克斯县| 平泉县| 云林县| 三原县| 独山县| 南昌县| 仙居县| 沧源| 日土县| 福安市| 乌拉特中旗| 天气| 宜阳县| 故城县| 墨玉县| 崇仁县| 思茅市| 临安市| 保靖县|