快速指南,介紹 xargs 命令的使用,它用於將一個命令的輸出作為另一個命令的參數。

xargs 命令在UNIX shell中用於將標準輸入轉換為命令的參數。

換句話說,通過使用 xargs,將一個命令的輸出用作另一個命令的輸入。

以下是使用的語法:

command1 | xargs command2

我們使用管道(|)將輸出傳遞給 xargs。這將運行 command2 命令,並使用 command1 的輸出作為其參數。

讓我們舉個簡單的例子。您想從目錄中刪除一些特定的文件。這些文件在文本文件中列出。

我們有3個文件:file1file2file3

todelete.txt 中,我們有一個要刪除的文件列表,例如 file1file3

image

我們將 cat todelete.txt 的輸出通過 xargs 傳遞給 rm 命令。

如下所示:

cat todelete.txt | xargs rm

這就是結果,我們列出的文件現在已被刪除:

image

xargs 的工作原理是根據 cat 返回的每一行分別運行 rm 2 次。

這是 xargs 最簡單的用法。我們還可以使用幾個選項。

其中我認為最有用的一個選項是 -p。使用此選項將使 xargs 打印帶有執行操作的確認提示:

image

-n 選項讓您告訴 xargs 逐次執行一個迭代,因此您可以使用 -p 逐個確認它們。 在這裡,我們使用 -n1 告訴 xargs 逐次執行一次迭代:

image

-I 選項是另一個廣泛使用的選項。它允許您將輸出放入佔位符中,然後您可以進行各種操作。

其中之一是運行多個命令:

command1 | xargs -I % /bin/bash -c 'command2 %; command3 %'

image

您可以將上面使用的 % 符號替換為其他任何內容,它是一個變量。

xargs 命令在Linux、macOS、WSL和任何具有UNIX環境的地方都可用。