Библиотека сайта rus-linux.net
Утилиты GNU для обработки текста. Часть 3. Продвинутые инструменты
Оригинал: GNU text processing overview, part 3: Advanced toolsАвтор: Russell James
Дата публикации: 5 ноября 2013 года
Перевод: А. Кривошей
Дата перевода: январь 2014 г.
Emacs
GNU Emacs - это текстовый редактор, как Nano, только намного мощнее. Он имеет модульную стркутуру и позволяет расширять свои возможности с помощью плагинов до такой степени, что его можно назвать интегрированной средой разработки (IDE). Чтобы запустить Emacs, введите в командной строке:
$ emacs
Стартовая страница Emacs содержит ссылки на ресурсы для углубленного изучения возможностей программы.
Материалы для углубленного изучения:
How to Use Emacs
Basic Emacs Editor Commands
GNU Emacs FAQ
GNU Emacs Manual
Emacs Wiki
GNU Emacs Home Page
Groff
GNU Troff, или Groff - это программа верстки, которая использует для подготовки документов к печати язык разметки troff. Для вызова программы введите в командной строке:
$ groff
Материалы для углубленного изучения:
Groff Tutorial
Groff Command Examples to Create Formatted Document
Groff Manual
Groff Home Page
Texinfo
Texinfo - это официальный формат документации системы GNU. Также это программа, которая позволяет конвертировать документы одного из поддерживаемых форматов (html, pdf, info и т.д.) в любой другой поддерживаемый формат. Это значит, что можно один раз отредактировать исходный документ, а потом опубликовать его в нескольких форматах.
Материалы для углубленного изучения:
What's GNU: Texinfo
Texinfo Manual
Making Lists & Tables with Texinfo
Texinfo Home Page
sed
GNU sed - это потоковый редактор, который получает на ввод текстовый документ (или набор документов) и выполняет над ним некоторые заданные операции по редактированию. Он наиболее широко используется для производства множественных подстановок. Например, чтобы сменить каждое слово "wildebeast" в документе на "gnu", необходимо ввести следующую команду:
sed - это мощное средство для обработки текстов, и поддерживает множество других функций.
$ sed 's/wildebeast/gnu/g' < old > new
Материалы для углубленного изучения:
Sed - An Introduction and Tutorial
sed One-Liners
Famous sed One-Liners Explained
The sed FAQ
sed Man Page
GNU sed User's Manual
GNU sed Home Page
gawk
GNU awk (gawk) - это язык обработки текста. Он похож на sed, но еще более мощный и гибкий. Пример: чтобы найти и вывести на экран каждую строку из документа "gnubie.txt, содержащую слово "wildebeast", необходимо ввести:
$ awk '/wildebeast/ { print $0 }' gnubie.txt
Конечно, функциональность gawk этим не ограничивается.
Материалы для углубленного изучения:
An Awk Primer
awk Tutorial
awk One-Liners
Famous Awk One-Liners Explained
awk Man Page
GAWK: Effective AWK Programming: A User's Guide for GNU Awk
Awk -- A Pattern Scanning and Processing Language
Gawk Home Page
Bash
Bash - это официальная командная оболочка GNU. Она объединяет в себе интерфейс командной строки и интерпретатор командного языка с богатыми возможностями. Функции расширения параметра Bash часто могут быть полезны в обработке текста, хотя они используются не слишком часто.
Материалы для углубленного изучения:
Bash Parameter Expansion
Introduction to the Command Line
Advanced Bash Scripting Guide
Bash Man Page
Bash Reference Manual
Bash Home Page
Регулярные выражения
Регулярные выражения - это строки символов, представляющие текст в документе. Они могут быть литералом, другими словами регулярное выражение "GNU" может представлять собой текст "GNU", либо может быть набором символов. Символ "*" представляет ноль или более экземпляров заданного символа. Регулярные выражения наиболее часто используются для поиска или подстановки текста по образцу.
Материалы для углубленного изучения:
Regular Expressions User Guide
Regular Expressions Tutorial