3

Как передать некоторые входные данные в командную строку за строкой (т.е. вызывать команду для каждой строки)?

xargs не работает, потому что он передает строки как аргументы, а не как стандартный ввод.

Конкретным случаем, когда это произошло, было декодирование файла, строки которого были строками в кодировке base64.

1 ответ1

8

Может быть сделано с помощью цикла while:

produce | while IFS= read -r line; do echo "$line" | process; done | consume

(для некоторого произвольного produce , process , consume команды, которые все используют стандартный ввод / вывод), но meh. Должен быть более элегантный способ сделать это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .