Команда 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'

Тук Впиши командата е търсила във файла 'sample' за низа 'Apple' и 'Eat'.

С тази команда могат да се използват следните опции.

Опция функция
-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 се използват за разделяне на дълъг файл на четими битове