Как использовать команду fold в Linux

Команда Linux fold ставит под сомнение непослушный вывод. Читайте большие куски текста, бесконечные строки и неформатированные потоки, контролируя ширину вывода. Научиться.

Как работают строки текста в терминале Linux

Первое правило битвы Linux: знай своего врага. Итак, давайте определимся с этим. Что такое строка текста? Это последовательность символов — букв, цифр, символов и пробелов, которая заканчивается специальным байтом, означающим «начало новой строки». В Linux и Unix символ новой строки, также называемый переводом строки, используется как индикатор конца строки. Это байт со значением 0x0a в шестнадцатеричный и десять в десятичной системе счисления.

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

  Как установить VMWare Workstation Pro 14 в Linux

Термины «перевод строки» и «возврат каретки» восходят к прошлому. к пишущей машинке. Валик, цилиндр, вокруг которого была обернута бумага, был установлен на подвижной тележке. Каретка перемещалась на один символ влево при каждом нажатии клавиши. Чтобы начать новую строку, вы нажимали рычаг, который возвращал каретку в исходное положение, а также вращал ролик и перемещал бумагу вверх на высоту одной строки. Это действие было известно как возврат каретки, а вращение цилиндра (и продвижение бумаги) было известно как перевод строки.

Рычаг был заменен на ключ, когда машинка стала электрифицированной. Ключ был помечен как возврат каретки или просто возврат. Некоторые ранние компьютеры, такие как BBC Micro по-прежнему использовал имя Return на том, что мы теперь называем клавишей Enter.

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

  Как играть в Gunfire Reborn в Linux

Но в чем проблема с длинными линиями?

Текст без или с очень небольшим количеством символов новой строки в нем будет слишком широким для удобного чтения в окне терминала. Это раздражает, но это выполнимо.

Более опасная проблема — иметь дело со строками такой длины, что они создают проблему для программного обеспечения, которое должно обрабатывать, передавать или получать текст. Это может быть вызвано длиной внутреннего буфера или другими аспектами программного обеспечения, которые вы не можете настроить.

Но есть исправление, которое называется фолд.

Первые шаги со складкой

Давайте посмотрим на часть текста, в которой есть очень и очень длинные строки. Обратите внимание, что мы не говорим здесь о предложениях. (Хотя текст взят из книги Германа Мелвилла «Моби Дик», так что у нас есть лучшее из обоих миров.)

  Как играть в серию игр Bungie Marathon в Linux

Строка текста — это все, начиная от последнего символа новой строки (или начала файла, если это первая строка в файле) до следующего символа новой строки, независимо от того, что находится между ними. В строке может быть много предложений. Он может повторяться в окне терминала много раз. Но это по-прежнему одна строка текста.

Посмотрим на текст в сыром виде:

less moby-dick.txt

меньше moby-dick.txt в окне терминала

Текст отображается меньше:

Моби Дик отображается меньше в окне терминала

Текст растягивается от одного края окна до другого, а переносы строк некрасивы, и они разбивают слова посередине.

У нас есть еще одна версия файла с короткими строками:

less short-lines-moby-dick.txt

меньше коротких строк-moby-dick.txt в окне терминала

Строки в этом файле намного короче. Каждая строка заканчивается символом новой строки.

Краткая версия Moby Dick отображается в меньшем размере в окне терминала

Если мы используем команду hexdump, мы можем посмотрите на байтовые значения в файле и увидеть символы новой строки. Параметр -C (канонический) форматирует вывод для отображения шестнадцатеричных значений в основном