Я хочу присоединиться к выводу 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 iconv -f UTF-16; echo; ) | ...other-commands...
Это должно добавить новую строку после вывода xargs перед переходом к другим командам.
Уродливое решение:
find . -name '*.txt' | { xargs -n 1 -I_ bash -c 'iconv -f UTF-16 _;echo '; }| ...other-commands...
Используя GNU Parallel, вы могли бы:
find . -name '*.txt' | parallel -k "iconv -f UTF-16 {}; echo" | ...other-commands...
В качестве дополнительного бонуса iconv
s будет работать параллельно.
Посмотрите вступительные видео, чтобы узнать больше: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1