Команда Pipe, Grep і Sort у Linux/Unix із прикладами

Що таке труба в Linux?

Pipe — це команда в Linux, яка дозволяє використовувати дві або більше команд, щоб вихід однієї команди служив введенням для наступної. Коротше кажучи, вихід кожного процесу безпосередньо як вхід для наступного, як конвеєр. Символ '|' позначає трубу.

Канали допомагають одночасно об’єднати дві або більше команд і виконувати їх послідовно. Ви можете використовувати потужні команди, які можуть виконувати складні завдання в одну мить.

Давайте розберемося в цьому на прикладі.

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

Щоб уникнути цього, ви можете конвелювати вихід команди cat до 'less', який показуватиме лише одну довжину прокручування вмісту за раз.

cat filename | less 

Ілюстрація зробить це зрозумілим.

Що таке труба в Linux

Натисніть тут якщо відео недоступне

команди «pg» і «more».

Замість «менше» ви також можете використовувати.

cat Filename | pg 

or

cat Filename | more

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

команди «pg» і «more».

Команда grep

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

Ви можете самостійно вручну переглянути вміст, щоб відстежити інформацію. Кращим варіантом є використання команди grep. Він відсканує документ на наявність потрібної інформації та представить результат у потрібному форматі.

Синтаксис:

grep search_string

Давайте подивимося на це в дії –

Команда grep

Тут, GREP Команда здійснила пошук у файлі «зразок» рядків «Яблуко» та «Їсти».

За допомогою цієї команди можна використовувати такі параметри.

варіант функція
-v Показує всі рядки, які не відповідають шуканому рядку
-c Відображає лише кількість відповідних рядків
-n Показує відповідний рядок і його номер
-i Зіставте обидва (верхній і нижній) регістри
-l Показує лише назву файлу з рядком

Давайте спробуємо перший варіант '-i' на той самий файл використовуйте вище –

За допомогою параметра «i» grep відфільтрував рядок «a» (незалежно від регістру) з усіх рядків.

Команда grep

Команда сортування

Ця команда допомагає в сортування вмісту файлу в алфавітному порядку.

Синтаксис цієї команди такий:

sort Filename

Розгляньте вміст файлу.

Команда сортування

Використання команди sort

Команда сортування

Існує Розширення до цієї команди також, і вони перераховані нижче.

варіант функція
-r Reverses сортування
-n Сортує чисельно
-f Сортування без урахування регістру

У наведеному нижче прикладі показано зворотне сортування вмісту у файлі "abc".

Команда сортування

Що таке фільтр?

У Linux є багато команд фільтра, таких як awk, grep, sed, spell і wc. Фільтр приймає вхідні дані від однієї команди, виконує деяку обробку та видає вихідні дані.

Коли ви передаєте дві команди, «відфільтрований» вихід першої команди передається наступній.

Що таке фільтр

Розберемося в цьому на прикладі.

У нас є наступний файл "зразок"

Що таке фільтр

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

Для цього можна використовувати наступний синтаксис.

cat sample | grep -v a | sort - r

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

Що таке фільтр

Основна інформація:

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