Что такое пайп в Linux?
Pipe — это команда в Linux, которая позволяет вам использовать две или более команд, так что вывод одной команды служит вводом для следующей. Короче говоря, вывод каждого процесса непосредственно в качестве ввода для следующего, как конвейер.
Символ ‘|’ обозначает трубу.
Каналы помогают объединять две или более команд одновременно и запускать их последовательно. Вы можете использовать мощные команды, которые могут мгновенно выполнять сложные задачи.
Давайте разберемся в этом на примере.
Когда вы используете команду cat для просмотра файла, который занимает несколько страниц, приглашение быстро переходит к последней странице файла, и вы не видите содержимое в середине.
Чтобы избежать этого, вы можете перенаправить вывод команды ‘cat’ в ‘less’, что покажет вам только одну длину прокрутки содержимого за раз.
cat filename | less
Иллюстрация прояснила бы это:
Команды ‘pg’ и ‘more’
Вместо «меньше» можно также использовать.
cat Filename | pg
или же
cat Filename | pg
И вы можете просмотреть файл в удобоваримых битах и прокрутить вниз, просто нажав клавишу ввода.
Команда ‘grep’
Предположим, вы хотите найти конкретную информацию по почтовому индексу из текстового файла.
Вы можете вручную просмотреть содержимое, чтобы отследить информацию. Лучшим вариантом является использование команды grep. Он просканирует документ для получения необходимой информации и представит результат в желаемом формате.
Синтаксис:
grep search_string
Посмотрим на это в действии:
Здесь команда grep провела поиск в файле «sample» по строке «Apple» и «Eat».
С этой командой можно использовать следующие параметры.
Вариант | Функция |
-v | Показывает все строки, которые не соответствуют искомой строке |
-c | Отображает только количество совпадающих строк |
-n | Показывает соответствующую строку и ее номер |
-i | Учитывать оба регистра (верхний и нижний) |
-l | Показывает только имя файла со строкой |
Давайте попробуем первый вариант ‘-i’ для того же файла, использованного выше —
Используя параметр «i», grep отфильтровал строку «a» (без учета регистра) из всех строк.
Команда sort
Эта команда помогает отсортировать содержимое файла по алфавиту.
Синтаксис этой команды:
sort Filename
Рассмотрим содержимое файла.
Использование команды сортировки
У этой команды также есть расширения , и они перечислены ниже.
Вариант | Функция |
-р | Обратная сортировка |
-n | Сортировка численно |
-f | Сортировка без учета регистра |
Пример ниже показывает обратную сортировку содержимого в файле «abc».
Linux / Unix конвейеры, команда Grep & Sort
Что такое фильтр?
В Linux есть множество команд фильтрации, таких как awk, grep, sed, spell и wc. Фильтр принимает входные данные от одной команды, выполняет некоторую обработку и выдает выходные данные.
Когда вы передаете две команды по конвейеру, «отфильтрованный» вывод первой команды передается следующей.
Давайте разберемся в этом на примере.
У нас есть следующий файл ‘sample’
Мы хотим выделить только те строки, которые не содержат символа «а», но результат должен быть в обратном порядке.
Для этого можно использовать следующий синтаксис.
cat sample | grep -v a | sort — r
Посмотрим на результат.
Резюме:
- Трубы ‘|’ отправить вывод одной команды как ввод другой команды.
- Фильтр принимает входные данные от одной команды, выполняет некоторую обработку и выдает выходные данные.
- Команду grep можно использовать для поиска строк и значений в текстовом документе.
- Канал через grep должен быть одним из наиболее распространенных применений
- Команда sort сортирует содержимое файла по алфавиту
- Команды less, pg и more используются для разделения длинного файла на читаемые биты
Интересные записи: