Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

fmt - Простое средство форматирования текста

Ассоциация FMT программа также сворачивает текст и многое другое. Он принимает файлы или стандартный ввод и выполняет форматирование абзаца в текстовом потоке. По сути, он заполняет и объединяет строки в тексте, сохраняя пустые строки и отступы.

Для демонстрации нам понадобится текст. Давайте поднимем кое-что из FMT информационная страница:


`fmt 'читает из указанных аргументов ФАЙЛА (или из стандартного ввода, если они не заданы) и записывает в стандартный вывод.


По умолчанию пустые строки, пробелы между словами и отступы

`fmt 'читает из указанных аргументов ФАЙЛА (или из стандартного ввода, если они не заданы) и записывает в стандартный вывод.


По умолчанию пустые строки, пробелы между словами и отступы


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


`fmt 'предпочитает разрыв строки в конце предложения и пытается избежать разрывов строки после первого слова предложения или перед последним словом предложения. «Разрыв предложения» определяется либо как конец абзаца, либо как слово, оканчивающееся на любую из `.?! ', За которым следуют два пробела или конец строки, игнорируя любые промежуточные круглые скобки или кавычки. Как и TeX, `fmt 'читает целые« абзацы »перед тем, как выбрать перенос строки; алгоритм является вариантом алгоритма, предложенного Дональдом Э. Кнутом и Майклом Ф. Плассом в «Разбиение абзацев на строки»,

«Программное обеспечение - практика и опыт» 11, 11 (ноябрь 1981 г.), 1119–1184.

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


`fmt 'предпочитает разрыв строки в конце предложения и пытается избежать разрывов строки после первого слова предложения или перед последним словом предложения. «Разрыв предложения» определяется либо как конец абзаца, либо как слово, оканчивающееся на любую из `.?! ', За которым следуют два пробела или конец строки, игнорируя любые промежуточные круглые скобки или кавычки. Как и TeX, `fmt 'читает целые« абзацы »перед тем, как выбрать перенос строки; алгоритм является вариантом алгоритма, предложенного Дональдом Э. Кнутом и Майклом Ф. Плассом в «Разбиение абзацев на строки»,

«Программное обеспечение - практика и опыт» 11, 11 (ноябрь 1981 г.), 1119–1184.


Мы скопируем этот текст в наш текстовый редактор и сохраним файл как fmt-info.txt. Теперь предположим, что мы хотели переформатировать этот текст, чтобы он поместился в столбец шириной в пятьдесят символов. Мы могли бы сделать это, обработав файл с помощью FMT и -w опции:


[я @ linuxbox ~] $ fmt -w 50 fmt-info.txt | голова

fmt читает из указанных аргументов ФАЙЛА (или из стандартного ввода, если

не указаны) и записывает на стандартный вывод.


По умолчанию пустые строки, пробелы между словами и отступы

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

[я @ linuxbox ~] $ fmt -w 50 fmt-info.txt | голова

fmt читает из указанных аргументов ФАЙЛА (или из стандартного ввода, если

не указаны) и записывает на стандартный вывод.


По умолчанию пустые строки, пробелы между словами и отступы

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


Что ж, это неловкий результат. Возможно, нам действительно стоит прочитать этот текст, поскольку он объясняет, что происходит:

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

Итак, FMT сохраняет отступ первой строки. К счастью, FMT предоставляет возможность исправить это:



[я @ linuxbox ~] $ fmt -cw 50 fmt-info.txt

`fmt 'читает из указанных аргументов ФАЙЛА (или из стандартного ввода, если они не заданы) и записывает в стандартный вывод.

[я @ linuxbox ~] $ fmt -cw 50 fmt-info.txt

`fmt 'читает из указанных аргументов ФАЙЛА (или из стандартного ввода, если они не заданы) и записывает в стандартный вывод.


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


`fmt 'предпочитает разрыв строки в конце предложения и пытается избежать разрывов строки после первого слова предложения или перед

последнее слово предложения. «Разрыв предложения» определяется либо как конец абзаца, либо как слово, оканчивающееся на любую из `.?! ', За которым следуют два пробела или конец строки, игнорируя любые

промежуточные скобки или цитаты. Как и TeX,

`fmt 'читает целые« абзацы »перед тем, как выбирать разрывы строк; алгоритм является вариантом

что дано Дональдом Э. Кнутом и Майклом Ф. Плассом в «Разбивке абзацев на строки»,

«Программное обеспечение - практика и опыт» 11, 11

(Ноябрь 1981), 1119-1184.

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


`fmt 'предпочитает разрыв строки в конце предложения и пытается избежать разрывов строки после первого слова предложения или перед

последнее слово предложения. «Разрыв предложения» определяется либо как конец абзаца, либо как слово, оканчивающееся на любую из `.?! ', За которым следуют два пробела или конец строки, игнорируя любые

промежуточные скобки или цитаты. Как и TeX,

`fmt 'читает целые« абзацы »перед тем, как выбирать разрывы строк; алгоритм является вариантом

что дано Дональдом Э. Кнутом и Майклом Ф. Плассом в «Разбивке абзацев на строки»,

«Программное обеспечение - практика и опыт» 11, 11

(Ноябрь 1981), 1119-1184.


Намного лучше. Добавив -c вариант, теперь у нас есть желаемый результат.

У fmt есть несколько интересных опций:


Таблица 21-3: Параметры fmt


Вариант Описание

Вариант Описание

-c Работать в край короны режим. Это сохраняет отступ первых двух строк абзаца. Последующие строки выравниваются по отступу второй строки.


изображение

-p string Отформатируйте только те строки, которые начинаются с префикса string. После форматирования содержимое string добавляются к каждой переформатированной строке. Этот параметр можно использовать для форматирования текста в комментариях к исходному коду. Например, любой язык программирования или файл конфигурации, в котором для обозначения комментария используется символ «#», можно отформатировать, указав -п '# ' так что форматируются только комментарии. См. Пример ниже.


изображение

-s Режим только разделения. В этом режиме строки будут разделяться только по указанной ширине столбца. Короткие линии не будут соединяться с линиями заливки. Этот режим полезен при форматировании текста, например кода, в котором соединение нежелательно.


изображение

-u Выполнить равномерный интервал. При этом будет применяться традиционная «пишущая машинка».


изображение


изображение

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


изображение

-w ширина Форматирование текста по размеру столбца ширина шириной символов. По умолчанию 75 символов. Примечание: FMT фактически форматирует строки немного короче указанной ширины, чтобы обеспечить балансировку линий.


изображение


Ассоциация -p вариант особенно интересен. С его помощью мы можем форматировать выбранные части файла при условии, что все строки, которые нужно отформатировать, начинаются с одной и той же последовательности символов. Многие языки программирования используют знак решетки (#) для обозначения начала комментария и, таким образом, могут быть отформатированы с помощью этой опции. Создадим файл, имитирующий программу, использующую комментарии:



[я @ linuxbox ~] $ кошка> fmt-code.txt

# Этот файл содержит код с комментариями.


# Эта строка является комментарием.

# Далее следует еще одна строка комментария.

# И другой.


Это, с другой стороны, строка кода. И еще одна строчка кода.

И другой.

[я @ linuxbox ~] $ кошка> fmt-code.txt

# Этот файл содержит код с комментариями.


# Эта строка является комментарием.

# Далее следует еще одна строка комментария.

# И другой.


Это, с другой стороны, строка кода. И еще одна строчка кода.

И другой.


Наш образец файла содержит комментарии, которые начинаются со строки «#» (#, за которой следует пробел), и строки «кода», которые этого не делают. Теперь, используя FMT, мы можем отформатировать комментарии и оставить код нетронутым:



[я @ linuxbox ~] $ fmt -w 50 -p '#' fmt-code.txt

# Этот файл содержит код с комментариями.


# Эта строка является комментарием. За ним последовал еще один

# строка комментария. И другой.


Это, с другой стороны, строка кода. И еще одна строчка кода.

И другой.

[я @ linuxbox ~] $ fmt -w 50 -p '#' fmt-code.txt

# Этот файл содержит код с комментариями.


# Эта строка является комментарием. За ним последовал еще один

# строка комментария. И другой.


Это, с другой стороны, строка кода. И еще одна строчка кода.

И другой.


Обратите внимание, что смежные строки комментариев соединяются, в то время как пустые строки и строки, которые не начинаются с указанного префикса, сохраняются.


Лучшие облачные вычисления для ОС в OnWorks: