Команда Pipe, Grep и Sort в Linux/Unix с примерами

Что такое канал в Linux?

Канал - это команда в Linux, которая позволяет использовать две или более команд, так что вывод одной команды служит вводом для следующей. Короче говоря, вывод каждого процесса непосредственно в качестве ввода для следующего, как конвейер. Символ '|' обозначает трубу.

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

Позвольте нам понять это на примере.

Когда вы используете команду «cat» для просмотра файла, который занимает несколько страниц, подсказка быстро переходит на последнюю страницу файла, и вы не видите содержимое в середине.

Чтобы избежать этого, вы можете передать вывод команды «cat» в команду «less», которая будет показывать вам только одну длину прокрутки контента за раз.

cat filename | less 

Иллюстрация прояснит ситуацию.

Что такое канал в Linux

Нажмите здесь если видео недоступно

команды «pg» и «еще»

Вместо «меньше» вы также можете использовать.

cat Filename | pg 

or

cat Filename | more

Кроме того, вы можете просмотреть файл в удобочитаемых фрагментах и ​​прокрутить вниз, просто нажав клавишу ввода.

Команды «pg» и «еще»

Команда «греп»

Предположим, вы хотите найти определенную информацию по почтовому индексу в текстовом файле.

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

Синтаксис:

grep search_string

Давайте посмотрим на это в действии –

Команда «греп»

Здесь, GREP Команда выполнила поиск в файле «образец» строк «Apple» и «Eat».

С этой командой можно использовать следующие параметры.

Опция Функция
-v Показывает все строки, которые не соответствуют искомой строке.
-c Отображает только количество совпадающих строк
-n Показывает соответствующую строку и ее номер.
-i Сопоставить оба регистра (верхний и нижний)
-l Показывает только имя файла со строкой

Давайте попробуем первый вариант '-я' в том же файле используйте выше –

Используя опцию «i», grep отфильтровал строку «a» (без учета регистра) из всех строк.

Команда «греп»

Команда «сортировать»

Эта команда помогает в сортировка содержимого файла по алфавиту.

Синтаксис этой команды:

sort Filename

Рассмотрим содержимое файла.

Команда «сортировать»

Использование команды сортировки

Команда «сортировать»

Существуют расширения к этой команде, и они перечислены ниже.

Опция Функция
-r Revсортировка документов
-n Сортирует числово
-f Сортировка без учета регистра

В приведенном ниже примере показана обратная сортировка содержимого файла abc.

Команда «сортировать»

Что такое фильтр?

В Linux имеется множество команд фильтрации, таких как awk, grep, sed, Spell и wc. Фильтр принимает входные данные одной команды, выполняет некоторую обработку и выдает выходные данные.

Когда вы передаете две команды, «отфильтрованный» вывод первой команды передается следующей.

Что такое фильтр

Давайте разберемся в этом с помощью примера.

У нас есть следующий файл «sample»

Что такое фильтр

Мы хотим подчеркнуть только те строки, которые не содержат символа «а», но результат должен быть в обратном порядке.

Для этого можно использовать следующий синтаксис.

cat sample | grep -v a | sort - r

Давайте посмотрим на результат.

Что такое фильтр

Резюме:

  • Трубы '|' отправить вывод одной команды как ввод другой команды.
  • Фильтр принимает входные данные одной команды, выполняет некоторую обработку и выдает выходные данные.
  • Команду grep можно использовать для поиска строк и значений в текстовом документе.
  • Передача через grep должна быть одним из наиболее распространенных способов использования.
  • Команда sort сортирует содержимое файла в алфавитном порядке.
  • Команды less, pg и more используются для разделения длинного файла на читаемые биты.