xargs 命令
我們可以用管道將一個命令的 stdout(標準輸出)重定向到另一個命令的 stdin(標準輸入)。但有些命令只能以命令行參數的形式接收數據,而無法通過 stdin 接收數據流。在這種情況下,無法通過管道將數據重定向給這些命令。這時 xargs 就可以發揮它的作用了,xargs 命令可以從標準輸入接收輸入,並把輸入轉換爲一個特定的參數列表。
(1)命令格式
command | xargs [選項] [command]
xargs 命令應該緊跟在管道操作符之後,因爲它以標準輸入作爲主要的源數據流。
(2)常用參數
參數 | 描述 |
---|---|
-n | 指定每行最大的參數數量 |
-d | 指定分隔符 |
(3)常用範例
例一:將多行輸入轉換爲單行輸出,可以使用如下命令:
cat a.txt | xargs
例二:將單行輸入轉換爲多行輸出,可以使用如下命令:
echo "1 2 3 4 5 6 7" | xargs -n 3
例三:將單行輸入轉換爲多行輸出,指定分隔符爲 i,可以使用如下命令:
cat b.txt | xargs -d i -n 3
例四:查找當前目錄下所有 c 代碼文件,統計總行數,可以使用如下命令:
find . -type f -name "*.c" | xargs wc -l