Полезные команд для фильтрации текста и операциями с файлами в Linux

Полезные команд для фильтрации текста и операциями с файлами в 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

источник


Report Page