Я знаю, что могу использовать что-то вроде cat test.txt | pr -w 80
обтекания строк шириной до 80 символов, но это занимает много места сверху и снизу напечатанных строк, и это не работает в некоторых системах
Какой лучший способ заставить текстовый файл с длинными строками быть обернутыми на определенную ширину?
Бонусные баллы, если вы можете удержать его от разрыва слов.
fold -s -w 80 email.txt | sed 's/^.*$/> &/'
fold
ломает URL, а покаfmt
нет.В дополнение к
fold
, посмотрите наfmt
.fmt
старается разумно выбирать разрывы строк, чтобы текст выглядел хорошо. Он не разбивает длинные слова, скорее он оборачивается только пробелами. Он также объединит смежные строки, что хорошо для прозы, но плохо для файлов журналов или другого форматированного текста.источник
1) гарантированная фиксированная ширина строки с разрывом слова:
2) гарантированная фиксированная ширина строки с необычным разрывом слов (слово разрывается только в том случае, если оно слишком велико, чтобы поместиться в строке):
3) обещание фиксированной ширины строки без разрыва слова (если слово слишком велико, чтобы поместиться в строке, оно все равно остается как есть, поэтому, наконец, некоторые строки могут быть больше по размеру, чем вам нужно):
источник
Еще один (менее известный) инструмент, который делает то, что вы хотите,
wrap
из GNU Talkfilters :Также (не по теме):
добавить
-t
при вызовеpr
опустить заголовки / трейлеры:источник
А для большего количества вариантов форматирования, посмотрите на
par
- http://www.nicemice.net/par/источник
работал для меня, так как мне нужно разделить каждую строку до 100 символов
источник