Средства обработки текста |
Статьи - Основы UNIX |
Средства обработки текстаТекстовые редакторы vi, ee, nanoUNIX обладает богатыми возможностями обработки текстовой информации, как с помощью программ, запускаемых из командной строки или скриптов, так и с использованием текстовых редакторов. Подробнее об этих редакторах см. Приложение. Программы-фильтрыВ UNIX существуют программы, получающие данные из стандартного потока ввода (stdin) и выводящие результаты свое работы в стандартный поток вывода (stdout). Общее название таких программ – программы-фильтры (или просто фильтры). Фильтр обычно (но не всегда) умеет также читать данные из файлов, имена которых были переданы ему в качестве аргументов, причем в этом случае чтение из файлов происходит именно в том порядке, в каком имена файлов были указаны в качестве параметров. Совместно с возможностью перенаправления стандартных потоков (stdin, stdout и stderr), использование программ-фильтров предоставляет пользователю большие возможности по обработке информации в командной строке или скриптах. Фильтр catПрограмма cat является классическим представителем фильтров. То, что прочитано из stdin или из файлов, выводится в stdout. Несмотря на кажущуюся простоту такого действия, использование cat позволяет пользователю быстро и эффективно решать необходимые задачи. Например, если необходимо просмотреть содержимое файла, нет нужды запускать пейджер или, тем более, редактор: $ cat /etc/fstab Для добавления строки в конец файла file1: $ cat >> file1 Опции, используемые с командой cat можно увидеть на странице man. Показать последние строки файла — tailПрограмма tail выводит на stdout последние строки файла (без опции n выводится 10 строк): Последние 5 строк $ tail -n 5 /var/log/messages Последние строки, начиная с 10-й $ tail -n +10 /var/log/messages Динамически отслеживать запись в файл $ tail -F /var/log/messages Показать первые строки файла — headПрограмма head выводит на stdout первые строки файла (без опции n выводится 10 строк): Первые 5 строк $ head -n 5 /var/log/messages Выбор фрагментов строк — cutПрограмма cut вырезать из входного потока или файла фрагменты строк, соответствующие определенным позициям символов в строке (опция с) или определенным полям (опция f). В последнем случае считается, что файл имеет табличную структуру (т. е. разбит на колонки) и программе требуется указать разделитель полей с с помощью опции d (разделитем по умолчанию является символ табуляции, в этом случае опция d не нужна). Примеры: $ cut -d: -f1 /etc/passwd Сортировка файлов — sortПрограмма sort позволяет сортировать данные в алфавитном или числовом порядке (опция -n). Подробно с опциями sort можно ознакомится на странице справочного руководства. Пример сортировки пользователей в системе по алфавиту: $ grep -v '^#' /etc/passwd | sort Пример сортировки пользователей в системе по значению UID: $ grep -v '^#' /etc/passwd | sort t: -k3 -n |