快速指南,介紹 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環境的地方都可用。