Полезные команд для фильтрации текста и операциями с файлами в Linux
1. Команда awk
Awk — замечательный язык сканирования и обработки шаблонов, он может использоваться для создания полезных фильтров в Linux.
Кроме того, прочитайте также страницу awk man для получения дополнительной информации и вариантов использования:
$ man awk
2. Команда sed
Sed — мощный редактор потоков для фильтрации и преобразования текста. На странице sed man вы можете ознакомится с подробными инструкциями:
$ man sed
3. Команды grep, egrep, fgrep, rgrep
Эти фильтры выводят строки, соответствующие заданному шаблону. Они читают строки из файла или стандартного ввода и выводят все соответствующие строки по умолчанию на стандартный вывод.
Примечание. Основная команда — grep, её варианты — это то же самое, что и использование определенных опций для grep, как показано в примере ниже:
$ egrep = grep -E
$ fgrep = grep -F
$ rgrep = grep -r
Ниже приведены некоторые основные команды grep:
$ grep "YOUR USERNAME" /etc/passwd
$ cat /etc/passwd | grep "YOUR USERNAME"

4. Команда head
Head используется для отображения первых частей файла, она выводит первые 10 строк по умолчанию. Вы можете использовать флаг -n num, чтобы указать количество отображаемых строк:
$ head /var/log/auth.log $ head -n 5 /var/log/auth.log

5. Команда tail
Tail выводит последние части (по 10 строк по умолчанию) файла. Используйте переключатель -n и цифру, чтобы указать количество отображаемых строк.
В приведенной ниже команде будут выводиться последние 5 строк указанного файла:
$ tail -n 5 /var/log/auth.log

Кроме того, у tail есть специальный параметр -f для просмотра изменений в файле в режиме реального времени (особенно в журнальных файлах).
Следующая команда позволит вам отслеживать изменения в указанном файле:
$ tail -f /var/log/auth.log

Прочтите страницу man для знакомства с полным списком вариантов использования tail и подробной инструкцией:
$ man tail
6. Команда sort
Sort используется для сортировки строк текстового файла или стандартного ввода.
Ниже приведено содержимое файла с именем file.txt:
Вы можете запустить команду sort для сортировки содержимого файла следующим образом:
$ sort file.txt

7. Команда uniq
Команда uniq используется для сообщения о наличии повторяющихся строк, она фильтрует строки со стандартного ввода и записывает результат в стандартный вывод.
После запуска сортировки по входному потоку вы можете удалить повторяющиеся строки с помощью uniq, как в приведенном ниже примере.
Чтобы указать количество вхождений строки, используйте параметр -c и игнорируйте различия в случае совпадения, включив опцию -i:
$ cat file.txt $ sort domains.list | uniq -c
8. Команда fmt
Fmt простой текстовый редактор, он переформатирует абзацы в указанном файле и выводит результаты на стандартный вывод.
Ниже приведен контент, извлеченный из файла file.txt:
1.tecmint.com 2.news.tecmint.com 3.linuxsay.com 4.windowsmint.com
Чтобы переформатировать вышеуказанный контент в стандартный список, для определения максимальной ширины линии используется следующая команда: ключ -w :
$ cat file.txt $ fmt -w 1 file.txt
9. Команда pr
Команда pr преобразует текстовые файлы или стандартный ввод для печати. Например, в системах Debian вы можете перечислить все установленные пакеты следующим образом:
$ dpkg -l
Чтобы упорядочить список в готовых к печати страницах и столбцах, выполните следующую команду.
$ dpkg -l | pr --columns 3 -l 20
Используемые здесь опции:
- –column –определяет количество столбцов, созданных на выходе.
- -l — указывает длину страницы (по умолчанию – 66 строк).

10. Команда tr
Этот инструмент преобразует или удаляет символы со стандартного ввода и записывает результаты в стандартный вывод.
Синтаксис для использования tr выглядит следующим образом:
$ tr options set1 set2
Взгляните на приведенные ниже примеры, в первой команде set1 ([: верхний регистр :]) представляет случай ввода символов (весь верхний регистр).
Тогда set2 ([: нижний уровень: ]) представляет случай, в котором будут возникать результирующие символы. Во втором примере это то же самое, что и escape-последовательность \n:
$ echo "SEDICOMM" | tr [:upper:] [:lower:] $ echo "sedicomm" | tr [:lower:] [:upper:]
11. Команда more
More — полезный фильтр для прочтения файлов, созданный в основном для просмотра сертификатов. Он показывает содержимое файла по странично, чтобы листать дальше нужно нажать [Enter].
Вы можете использовать его для просмотра больших файлов:
$ dmesg | more
12. Команда less
Команда less — это противоположность команде more, но она предлагает дополнительные функции, и она немного быстрее с большими файлами.
Используйте её как в примере ниже:
$ dmesg | less