Команда Pipe, Grep и Sort в Linux/Unix с примерами
Что такое канал в Linux?
Канал - это команда в Linux, которая позволяет использовать две или более команд, так что вывод одной команды служит вводом для следующей. Короче говоря, вывод каждого процесса непосредственно в качестве ввода для следующего, как конвейер. Символ '|' обозначает трубу.
Pipes помогают вам объединять две или более команд одновременно и запускать их последовательно. Вы можете использовать мощные команды, которые могут выполнять сложные задачи в мгновение ока.
Позвольте нам понять это на примере.
Когда вы используете команду «cat» для просмотра файла, который занимает несколько страниц, подсказка быстро переходит на последнюю страницу файла, и вы не видите содержимое в середине.
Чтобы избежать этого, вы можете передать вывод команды «cat» в команду «less», которая будет показывать вам только одну длину прокрутки контента за раз.
cat filename | less
Иллюстрация прояснит ситуацию.
Нажмите здесь если видео недоступно
команды «pg» и «еще»
Вместо «меньше» вы также можете использовать.
cat Filename | pg
or
cat Filename | more
Кроме того, вы можете просмотреть файл в удобочитаемых фрагментах и прокрутить вниз, просто нажав клавишу ввода.
Команда «греп»
Предположим, вы хотите найти определенную информацию по почтовому индексу в текстовом файле.
Вы можете вручную просмотреть контент, чтобы отследить информацию. Лучшим вариантом является использование команды 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 используются для разделения длинного файла на читаемые биты.