91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

赣州市| 西充县| 商丘市| 宁海县| 廉江市| 四川省| 惠来县| 普兰店市| 隆林| 庐江县| 台中市| 登封市| 崇礼县| 漠河县| 封丘县| 昌都县| 且末县| 门源| 六枝特区| 溧水县| 辽阳县| 安丘市| 兴义市| 革吉县| 中江县| 石台县| 开鲁县| 尼勒克县| 蒲城县| 资阳市| 福安市| 林口县| 疏勒县| 合江县| 三门县| 曲靖市| 达拉特旗| 贺兰县| 灌云县| 天全县| 安西县|