Intereting Posts
Как я могу запускать автоматические процессы как аутентифицированные пользователи AD / LDAP? Как отобразить пакеты Yum Local Repo в древовидных структурах на основе зависимости? Как назначить управляющий терминал другому процессу? Извлечение содержимого zip-файла с помощью перезаписи всего режима в CentOS 5 Создание виртуального хоста В чем смысл $ * в сценарии оболочки? Проблемы с преобразованием WAV в ALAC с помощью пакетного задания читать файлы напрямую VS getent Почему синтаксис «установить» не работает для выделения синтаксиса в vim? запустить команду для различных переменных в сценарии оболочки Каковы числа после версии в выводе политики apt-cache? удаление попарно дубликатов файлов Трубопровод находит результаты в другой команде Маршрутизация в OpenVPN между частной сетью и клиентом Можно ли использовать df для использования / proc / mounts вместо / etc / mtab?

Разделить текстовый файл на короткие строки для чтения?

Есть ли программа, которая может принимать текстовый файл с длинными строками и добавлять новую строку после определенного количества символов, только разделяя слова, чтобы сделать их доступными для чтения? Например, возьмите это:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vel lectus ac enim venenatis porttitor in et est. Curabitur ut eros quis risus consequat dictum aa lectus. Integer ut risus quis augue lobortis molestie vel id nibh. Aliquam sit amet mattis lorem, vel ornare felis. Donec pulvinar tempus lorem, at porta sem pretium ut. Cras ut lorem tincidunt, scelerisque nunc vitae, posuere augue. Vestibulum iaculis libero id congue ultrices. Nullam mauris ipsum, aliquet eget nisl non, venenatis euismod enim. Phasellus a eleifend velit. Aenean molestie venenatis turpis, consectetur convallis velit fringilla non. 

И превратите это в это:

 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vel lectus ac enim venenatis porttitor in et est. Curabitur ut eros quis risus consequat dictum aa lectus. Integer ut risus quis augue lobortis molestie vel id nibh. Aliquam sit amet mattis lorem, vel ornare felis. Donec pulvinar tempus lorem, at porta sem pretium ut. Cras ut lorem tincidunt, scelerisque nunc vitae, posuere augue. Vestibulum iaculis libero id congue ultrices. Nullam mauris ipsum, aliquet eget nisl non, venenatis euismod enim. Phasellus a eleifend velit. Aenean molestie venenatis turpis, consectetur convallis velit fringilla non. 

Команда, которую, я думаю, вы ищете, называется fmt .

 $ fmt loremipsum.txt Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vel lectus ac enim venenatis porttitor in et est. Curabitur ut eros quis risus consequat dictum aa lectus. Integer ut risus quis augue lobortis molestie vel id nibh. Aliquam sit amet mattis lorem, vel ornare felis. Donec pulvinar tempus lorem, at porta sem pretium ut. Cras ut lorem tincidunt, scelerisque nunc vitae, posuere augue. Vestibulum iaculis libero id congue ultrices. Nullam mauris ipsum, aliquet eget nisl non, venenatis euismod enim. Phasellus a eleifend velit. Aenean molestie venenatis turpis, consectetur convallis velit fringilla non. 

Вы можете контролировать результаты, такие как ширина и т. Д.

 $ fmt --help Usage: fmt [-WIDTH] [OPTION]... [FILE]... Reformat each paragraph in the FILE(s), writing to standard output. The option -WIDTH is an abbreviated form of --width=DIGITS. Mandatory arguments to long options are mandatory for short options too. -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) --help display this help and exit --version output version information and exit With no FILE, or when FILE is -, read standard input. 

Вероятно, лучшим выбором будет текстовый редактор; большинство из них предлагают текстовую упаковку.

Если вы ищете что-то более простое, вы можете придумать что-нибудь, используя sed или подобное. Поместите длинную строку в loremipsum.txt и loremipsum.txt sed обернуть после 56-73 символов, за которым следует пробел, это даст вам желаемый результат …

 $ sed -r -e 's/.{56,73} /&\n/g' loremipsum.txt Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vel lectus ac enim venenatis porttitor in et est. Curabitur ut eros quis risus consequat dictum aa lectus. Integer ut risus quis augue lobortis molestie vel id nibh. Aliquam sit amet mattis lorem, vel ornare felis. Donec pulvinar tempus lorem, at porta sem pretium ut. Cras ut lorem tincidunt, scelerisque nunc vitae, posuere augue. Vestibulum iaculis libero id congue ultrices. Nullam mauris ipsum, aliquet eget nisl non, venenatis euismod enim. Phasellus a eleifend velit. Aenean molestie venenatis turpis, consectetur convallis velit fringilla non. 

… или вы могли бы просто использовать fold -s -w 74 loremipsum.txt я думаю …

Вы можете передать текст в fold -s -w 72 чтобы получить этот результат.

Если ваша система не имеет fold но имеет установленный python, вы можете:

 cat /var/tmp/li.txt | cat /var/tmp/li.txt | python -c "import sys; from textwrap import fill; print fill(sys.stdin.read(), width=72)"