Команда Linux Pipe с примерами
Команда «pipe» используется как в операционных системах UNIX, так и в Linux. Конвейеры помогают объединить две или более команд и используются в качестве концепций ввода/вывода в команде. В операционной системе Linux мы используем более одного канала в команде, поэтому вывод одной команды перед каналом действует как ввод для другой команды после канала. В этой статье мы обсудили множество примеров, чтобы понять основные функции каналов.
Предпосылки
Чтобы применять команды каналов в Linux, в вашей системе должна быть среда Linux. Это можно сделать, загрузив виртуальный ящик и настроив на нем файл Ubuntu. Пользователи должны иметь права доступа к необходимым приложениям.
Синтаксис
Команда 1 | команда 2 | команда 3 | ……
Сортировка списка с помощью каналов
Канал имеет множество функций, используемых для фильтрации, сортировки и отображения текста в списке. Один из распространенных примеров описан здесь. Предположим, у нас есть файл с именем file1.txt, содержащий имена студентов. Мы использовали команду cat для получения записи этого файла.
Данные, присутствующие в этом файле, неупорядочены. Итак, чтобы отсортировать данные, нам нужно следовать фрагменту кода здесь.
В соответствующем выводе вы можете видеть, что имена учащихся расположены в алфавитном порядке в порядке от a до z.
Кроме того. Предположим, мы хотим получить результат в отсортированном виде, убрав избыточность. Мы будем использовать ту же команду и ключевое слово «uniq» в дополнение к команде по умолчанию. Давайте рассмотрим файл с именем file2.txt, содержащий имена субъектов. Эта же команда используется для получения данных.
Теперь мы будем использовать команду для удаления всех слов, которые дублируются в файле.
Вывод показывает, что элементы организованы и расположены в алфавитном порядке. При этом удаляются все слова, которые были дублированы. Приведенная выше команда будет отображать только выходные данные, но мы будем использовать приведенную ниже команду для их сохранения.
Результат будет сохранен в другом файле с тем же расширением.
Отображение файловых данных соответствующего диапазона
Очень раздражает, когда вы хотите получить какие-то данные только с самого начала, но команда выдает вам все совпадающие элементы в вашей системе. Вы можете использовать ключевое слово «голова». Это помогает ограничить ваш вывод относительно некоторого диапазона. т. е. в этом примере мы объявили диапазон до 4. Значит данные будут из первых 4-х строк файла. Рассмотрим тот же файл file2.txt, который мы взяли в примере выше.
Подобно голове, мы также можем использовать опцию хвоста. Это ограничит вывод последними строками в соответствии с заданным диапазоном.
Труба и многое другое
При использовании команды more все выходные данные одновременно отображаются на экране. Канал действует как контейнер и отображает все выходные данные как ввод ls-l. Потому что на выходе получается длинный список файлов.
Ls используется для отображения всех возможных данных соответствующей команды. Сначала он отображает общее количество данных, связанных с соответствующим запросом.
Подсчитайте количество файлов
Обычно необходимо знать количество файлов, присутствующих в данный момент. И нет необходимости использовать команду grep или cat для получения данных всех типов. Мы можем использовать pipe и в этом случае. Используемая команда записывается как:
Принимая во внимание, что wc — это «счетчик слов», используемый для подсчета присутствующих файлов.
Идентификация процесса
Многие сложные задачи также выполняются с использованием конвейера в наших командах. Команда, которую мы сейчас обсуждаем, используется для отображения идентификаторов процессов systemd.
Команда awk $2 отображает данные $2, которые являются вторым столбцом.
Получить подкаталоги с помощью канала
Одна из команд конвейера, которую мы использовали для получения всех существующих подкаталогов в текущем каталоге, является одним из запросов канала в используемых нами командах конвейера. Здесь мы использовали команду grep. Grep работает только для отображения данных, начинающихся с «d». Канал поможет получить соответствующие данные всех каталогов. Здесь используется «^d».
Получить файлы с помощью канала
Чтобы получить файлы из системы соответствующих расширений, мы можем получить это, используя канал в наших командах. Первый пример — поиск java-файлов в системе. «locate» и «grep» помогают получить файлы соответствующих расширений.
«*» используется для получения всех файлов в системе. В настоящее время в нашей системе присутствует один файл. Второй пример — получить файлы с расширением text. Вся команда такая же, только расширение файла изменено.
Используйте несколько каналов в одной команде
В этом примере, в отличие от предыдущих, мы использовали более одного канала в одной команде для уточнения ее функциональности. Рассмотрим файл с именем file3.txt.
Теперь мы хотим получить запись слова, совпадающего с именем, которое мы указали в команде. Здесь команда cat используется для извлечения данных из определенного файла. Grep используется для выбора этого конкретного слова из файла. «tee» используется для сохранения результата в другом файле. И wc для подсчета результирующих данных. Итак, результат показан ниже.
Слово соответствует содержанию 2. Мы можем отобразить данные из нового файла образца, чтобы отобразить весь результат, где результат хранится.
Получить определенные данные с помощью каналов
В этом примере мы хотим получить данные из файла, имеющего в своем содержимом «h».
Результат показывает, что полученные данные соответствуют поиску по команде «h». Переходим к следующему примеру. Здесь мы хотим получить элементы файла, содержащие «s», но мы применили условие чувствительности к регистру. Будут выбраны как прописные, так и строчные буквы алфавита.
Результат показан на изображении. Затем мы отобразим имена студентов, в которых в слове объединены буквы «а» и «т». Результат показан на приведенном ниже изображении.
Заключение
В статье рассказывается об универсальности конвейера в командах Linux. Тем не менее, это довольно просто, но работает таким образом, чтобы разрешать многие сложные запросы. Эта утилита командной строки легко реализуема и совместима с операционными системами UNIX и Linux.