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

Содержание:

Anonim

В этом уроке мы узнаем:

  • Что такое пайп в Linux?
  • команды 'pg' и 'more'
  • Команда 'grep'
  • Команда sort
  • Что такое фильтр?

Что такое пайп в Linux?

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

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

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

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

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

cat filename | less 

Иллюстрация прояснила бы это.

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

команды 'pg' и 'more'

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

cat Filename | pg 

или же

cat Filename | more

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

Команда 'grep'

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

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

Синтаксис:

grep search_string

Посмотрим на это в действии -

Здесь команда grep провела поиск в файле «sample» по строкам «Apple» и «Eat».

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

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

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

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

Команда sort

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

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

sort Filename

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

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

У этой команды также есть расширения , и они перечислены ниже.

Вариант

Функция

Обратная сортировка

-n

Сортировка численно

-f

Сортировка без учета регистра

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

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

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

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

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

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

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

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

cat sample | grep -v a | sort - r

Посмотрим на результат.

Резюме:

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