Bash

通過換行符加入 xargs 的輸出

  • February 14, 2013

我想xargs通過新行加入輸出的輸出。我這樣做:

find . -name '*.txt' | xargs -n 1 iconv -f UTF-16 | ...other-commands...

我一次獲取一個文件並將其轉換為 UTF-8(系統語言環境)。所有這些*.txt都是單行,最後沒有換行符。所以輸出的xargs是一堆亂七八糟的文字。

你如何分隔xargs輸出項目\n

一個醜陋的解決方案:

find . -name '*.txt' | { xargs -n 1 -I_ bash -c 'iconv -f UTF-16 _;echo '; }| ...other-commands...

你可以試試:

find . -name '*.txt' | (xargs -n 1 iconv -f UTF-16; echo; ) | ...other-commands...

這應該在 xargs 的輸出之後添加一個換行符,然後再通過管道傳輸到其他命令。

引用自:https://serverfault.com/questions/477726