xargs參數的使用方法

xargs 是一個用於從標準輸入中讀取參數列表並將其傳遞給命令的實用程序。它通常用於將一個命令的輸出作爲另一個命令的輸入。下面是 xargs 的基本使用方法:

bashCopy code
<command> | xargs <other command>

是一個產生輸出的命令,它的輸出將作爲 的參數列表。例如,要查找當前目錄下所有擴展名爲 .txt 的文件並將它們刪除,可以使用以下命令:

bashCopy code
find . -name "*.txt" | xargs rm

在上面的命令中,find . -name "*.txt" 查找所有擴展名爲 .txt 的文件,並將它們的文件名輸出到標準輸出。xargs rm 從標準輸入中讀取文件名列表,並將它們傳遞給 rm 命令,以刪除這些文件。

下面是 xargs 的一些常用參數:

  • -I:指定一個替換字符串來代替輸入中的參數。

    bashCopy code
    echo "one two three" | xargs -I {} echo {}
    

    輸出爲:

    sqlCopy code
    one
    two
    three
    

    在上面的命令中,-I {} 指定使用 {} 替換輸入中的參數。echo {} 會將每個參數作爲單獨的行輸出。

  • -n:指定每個命令執行時使用的參數數目。

    bashCopy code
    echo "one two three" | xargs -n 2 echo
    

    輸出爲:

    sqlCopy code
    one two
    three
    

    在上面的命令中,-n 2 指定每次執行 echo 命令時使用兩個參數。

  • -0:指定輸入參數列表使用 null 分隔符,而不是默認的空格分隔符。

    bashCopy code
    find . -name "*.txt" -print0 | xargs -0 rm
    

    在上面的命令中,find 命令的輸出中的文件名使用 null 分隔符,xargs -0 rm 命令告訴 xargs 使用 null 分隔符來讀取文件名列表。

  • -t:打印命令行中實際執行的命令,以便調試。

    bashCopy code
    echo "one two three" | xargs -t echo
    

    輸出爲:

    sqlCopy code
    echo one two three
    one two three
    

    在上面的命令中,-t 選項告訴 xargs 輸出實際執行的命令。

  • -p:在執行每個命令之前詢問用戶是否要繼續。

    bashCopy code
    echo "one two three" | xargs -p echo
    

    輸出爲:

    bashCopy code
    echo one two three ?...
    

    在上面的命令中,-p 選項會在執行命令之前詢問用戶是否要繼續。

  • -r:當沒有輸入參數時,避免執行命令。這可以避免在沒有參數時意外地執行命令。

    bashCopy code
    echo "" | xargs -r echo
    

    在上面的命令中,-r 選項告訴 xargs 當沒有輸入參數時不要執行 echo 命令。

  • -s:指定每個命令行使用的最大字符數。如果命令行超過這個限制,xargs 將分割它們成多個命令行。

    bashCopy code
    echo "one two three" | xargs -s 5 echo
    

    輸出爲:

    sqlCopy code
    one
    two
    thr
    ee
    

    在上面的命令中,-s 5 選項指定每個命令行最多使用 5 個字符。因此,xargsone two three 分割成了四個命令行。

  • --delimiter:指定輸入參數列表使用的分隔符。

    bashCopy code
    echo "one,two,three" | xargs --delimiter=',' echo
    

    輸出爲:

    sqlCopy code
    one
    two
    three
    

    在上面的命令中,--delimiter=',' 指定 , 作爲輸入參數列表的分隔符。

  • -x:如果命令行長度超過系統限制,則退出而不是分割命令行。

    bashCopy code
    echo "one two three" | xargs -x echo
    

    在上面的命令中,-x 選項指定如果命令行長度超過系統限制,則退出而不是分割命令行。

以上是 xargs 的一些常用參數。請注意,xargs 命令的選項和參數可以因操作系統和版本而異。可以通過 man xargs 命令來查看本地系統上 xargs 命令的完整幫助文檔。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章