Сегодня поговорим о том, для чего нужна фильтрация текста и как ее использовать. Также мы рассмотрим ряд инструментов командной строки, которые действуют как фильтры в Linux. Фильтр — это программа, которая считывает стандартный ввод, выполняет над ним операцию и записывает результаты в стандартный вывод.
По этой причине он может использоваться для обработки информации разными способами, такими как реструктуризация вывода для создания полезных отчетов, модификации текста в файлах и т.д.
С учетом сказанного, ниже приведены некоторые полезные файловые/текстовые фильтры в Linux.
1. Команда awk
Awk — замечательный язык сканирования и обработки шаблонов, он может использоваться для создания полезных фильтров в Linux.
Кроме того, прочитайте также страницу awk man для получения дополнительной информации и вариантов использования:
2. Команда sed
Sed — мощный редактор потоков для фильтрации и преобразования текста. На странице sed man вы можете ознакомится с подробными инструкциями:
3. Команды grep, egrep, fgrep, rgrep
Эти фильтры выводят строки, соответствующие заданному шаблону. Они читают строки из файла или стандартного ввода и выводят все соответствующие строки по умолчанию на стандартный вывод.
Примечание. Основная команда — grep, её варианты — это то же самое, что и использование определенных опций для grep, как показано в примере ниже:
Ниже приведены некоторые основные команды grep:
4. Команда head
Head используется для отображения первых частей файла, она выводит первые 10 строк по умолчанию. Вы можете использовать флаг -n num, чтобы указать количество отображаемых строк:
5. Команда tail
Tail выводит последние части (по 10 строк по умолчанию) файла. Используйте переключатель -n и цифру, чтобы указать количество отображаемых строк.
В приведенной ниже команде будут выводиться последние 5 строк указанного файла:
Кроме того, у tail есть специальный параметр -f для просмотра изменений в файле в режиме реального времени (особенно в журнальных файлах).
Следующая команда позволит вам отслеживать изменения в указанном файле:
Прочтите страницу man для знакомства с полным списком вариантов использования tail и подробной инструкцией:
6. Команда sort
Sort используется для сортировки строк текстового файла или стандартного ввода.
Ниже приведено содержимое файла с именем file.txt:
Вы можете запустить команду sort для сортировки содержимого файла следующим образом:
7. Команда uniq
Команда uniq используется для сообщения о наличии повторяющихся строк, она фильтрует строки со стандартного ввода и записывает результат в стандартный вывод.
После запуска сортировки по входному потоку вы можете удалить повторяющиеся строки с помощью uniq, как в приведенном ниже примере.
Чтобы указать количество вхождений строки, используйте параметр -c и игнорируйте различия в случае совпадения, включив опцию -i:
Прочтите страницу uniq man для дальнейшего использования информации и флагов:
8. Команда fmt
Fmt простой текстовый редактор, он переформатирует абзацы в указанном файле и выводит результаты на стандартный вывод.
Ниже приведен контент, извлеченный из файла file.txt:
Чтобы переформатировать вышеуказанный контент в стандартный список, для определения максимальной ширины линии используется следующая команда: ключ -w :
9. Команда pr
Команда pr преобразует текстовые файлы или стандартный ввод для печати. Например, в системах Debian вы можете перечислить все установленные пакеты следующим образом:
Чтобы упорядочить список в готовых к печати страницах и столбцах, выполните следующую команду.
Используемые здесь опции:
- —column —определяет количество столбцов, созданных на выходе.
- -l — указывает длину страницы (по умолчанию — 66 строк).
10. Команда tr
Этот инструмент преобразует или удаляет символы со стандартного ввода и записывает результаты в стандартный вывод.
Синтаксис для использования tr выглядит следующим образом:
Взгляните на приведенные ниже примеры, в первой команде set1 ([: верхний регистр :]) представляет случай ввода символов (весь верхний регистр).
Тогда set2 ([: нижний уровень: ]) представляет случай, в котором будут возникать результирующие символы. Во втором примере это то же самое, что и escape-последовательность \n:
11. Команда more
More — полезный фильтр для прочтения файлов, созданный в основном для просмотра сертификатов. Он показывает содержимое файла по странично, чтобы листать дальше нужно нажать [Enter].
Вы можете использовать его для просмотра больших файлов:
12. Команда less
Команда less — это противоположность команде more, но она предлагает дополнительные функции, и она немного быстрее с большими файлами.
Используйте её как в примере ниже:
Теперь вы знаете 12 полезных команд для фильтрации текста и для эффективных операций с файлами в Linux!
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.