快速指南,介紹 xargs
命令的使用,它用於將一個命令的輸出作為另一個命令的參數。
xargs
命令在UNIX shell中用於將標準輸入轉換為命令的參數。
換句話說,通過使用 xargs
,將一個命令的輸出用作另一個命令的輸入。
以下是使用的語法:
command1 | xargs command2
我們使用管道(|
)將輸出傳遞給 xargs
。這將運行 command2
命令,並使用 command1
的輸出作為其參數。
讓我們舉個簡單的例子。您想從目錄中刪除一些特定的文件。這些文件在文本文件中列出。
我們有3個文件:file1
、file2
、file3
。
在 todelete.txt
中,我們有一個要刪除的文件列表,例如 file1
和 file3
:
我們將 cat todelete.txt
的輸出通過 xargs
傳遞給 rm
命令。
如下所示:
cat todelete.txt | xargs rm
這就是結果,我們列出的文件現在已被刪除:
xargs
的工作原理是根據 cat
返回的每一行分別運行 rm
2 次。
這是 xargs
最簡單的用法。我們還可以使用幾個選項。
其中我認為最有用的一個選項是 -p
。使用此選項將使 xargs
打印帶有執行操作的確認提示:
-n
選項讓您告訴 xargs
逐次執行一個迭代,因此您可以使用 -p
逐個確認它們。 在這裡,我們使用 -n1
告訴 xargs
逐次執行一次迭代:
-I
選項是另一個廣泛使用的選項。它允許您將輸出放入佔位符中,然後您可以進行各種操作。
其中之一是運行多個命令:
command1 | xargs -I % /bin/bash -c 'command2 %; command3 %'
您可以將上面使用的
%
符號替換為其他任何內容,它是一個變量。
xargs
命令在Linux、macOS、WSL和任何具有UNIX環境的地方都可用。