Версия Python:
python -c "import sys;lines=[l.replace(' ','\n') for l in sys.stdin.readlines()];print(''.join(lines))" < input.txt > output.txt
Здесь используется перенаправление <
на stdin Python из input.txt
и запись в output.txt
с использованием перенаправления >
.Сам однострочник считывает все строки из stdin
в список строк, где все пробелы заменяются символами новой строки, и мы перестраиваем весь текст с помощью функции .join ()
.
Альтернативный подход, позволяющий избежать замены нескольких последовательных пробелов на новые строки, заключается в использовании .split ()
для разбиения строки на список слов. Таким образом мы можем гарантировать, что каждое слово отделяется только одной новой строкой
python -c "import sys;lines=['\n'.join(l.strip().split()) for l in sys.stdin.readlines()];print('\n'.join(lines))" < input.txt > output.txt