У меня есть простой текстовый файл с именем «пример».
Чтение с терминальной команды: cat example
Выход:
abc cdef ghi jk lmnopq rst uv wxyz
Я хочу преобразовать (преобразовать) в следующую форму: (ожидаемый вывод из cat example
)
abc
cdef
ghi
jk
lmnopq
rst
uv
wxyz
Как я могу сделать это через командную строку?
(Это только пример файла, я хочу преобразовать положение слова в вертикальном столбце)
command-line
text-processing
Pandya
источник
источник
Ответы:
Несколько вариантов:
Классический, используйте
tr
:использование
cut
использование
sed
использование
perl
Используйте оболочку
источник
sed
примера мне нужно было добавить a,$
чтобы получить bash, чтобы заменить его на новуюsed $'s/ /\\\n/g' example
sed $'s/ /\\n/g'
Попробуйте команду ниже
ИЛИ
Пример:
Объяснение:
RS (разделитель записей) является встроенной переменной awk. В первой команде значение, данное переменной-разделителю записи, - это пробел. поэтому awk прерывает строку печати, когда находит пробел.
Во второй команде значение, данное переменной RS, является пробелом или символом новой строки. Эта команда устраняет лишнюю пустую строку, появившуюся при выполнении первой команды.
источник
Вы можете использовать
xargs
,или лучше
источник
xargs -n 1 < example
спасает тебя 1 котенокИспользуя
perl
oneliner:Он заменит пробелы и табуляции на «ENTER» (он же
\n
)источник
Никто не размещал питон, так вот что:
Мы перенаправляем входной файл в
python
поток stdin и читаем его построчно. В каждой строке удаляется завершающий символ новой строки, разбивается на слова, а затем объединяется в одну строку, где каждое слово отделяется новой строкой. Это делается для того, чтобы обеспечить наличие одного слова в строке и избежать вставки нескольких символов новой строки в случае наличия нескольких пробелов рядом с друг с другом. В итоге мы получаем список строк, который затем снова объединяется в большую строку и распечатывается в поток stdout. Это позже может быть перенаправлено в другой файл с> out.txt
перенаправлением.источник
Аналогично «tr» выше, но с дополнениями:
Также работает для вкладок
Преобразует несколько пробелов или табуляции в 1 новую строку
источник