4.14. Дополнительные команды для чтения текстовых файлов

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

4.14.1. Команда head

Вы можете воспользоваться командой head, чтобы просмотреть начало файла. Формат вызова команды таков:

head <имя_файла>

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

head -20 <имя_файла>

4.14.2. Команда tail

Команда, обратная по действию команде head — tail. Используя программу tail, вы можете увидеть последние десять строк файла. Это может оказаться полезным, если, например, вы хотите просмотреть последние строки файла журнала системных сообщений. Также при помощи программы tail можно наблюдать за изменением журнала. При использовании ключа -f программа tail автоматически выводит новые строки открытого файла на экран в реальном времени. Например, чтобы просматривать файл /var/log/messages в реальном времени, введите в командной строке следующую команду (при этом вам надо быть суперпользователем, так как вы просматриваете системный файл):

tail -f /var/log/messages

4.14.3. Команда grep

Команда grep весьма полезна при поиске определенных строк в файле. Чтобы найти в файле <имя_файла> все упоминания слова «образец», введите:

grep образец <имя_файла>

Вы увидите все строки, содержащие «образец».

Чтобы распечатать информацию о наличии слова «образец» в файле <имя_файла> на принтере, введите:

grep образец <имя_файла> | lpr
[Подсказка]Подсказка

Если не указано противоположное, при поиске заданного слова grep учитывает регистр, в котором задано слово. Это значит, что поиск слова Образец — это не то же самое, что поиск слова образец. У команды grep существует опция -i, которая делает поиск по тексту нечувствительным к регистру.

Другая полезная опция команды grep, -r, позволяет осуществлять поиск во всех файлах текущего каталога рекурсивно.

Прочтите man-страницу grep, чтобы узнать больше об этой команде.