Показване на линии преди и след мача чрез Grep

Show Lines Before After Match Via Grep



Grep се използва широко в системите на Linux, когато работи върху някои файлове, търси някакъв специфичен модел и много други. Този път използваме командата grep за показване на редовете преди и след съвпадащата ключова дума, използвана в някакъв конкретен файл. За тази цел ще използваме знака -A, -B и, -C в цялото ни ръководство. Така че, трябва да изпълните всяка стъпка за по -добро разбиране. Уверете се, че имате инсталирана Ubuntu 20.04 Linux система.

Първо, трябва да отворите терминала за командния ред на Linux, за да започнете да работите върху grep. В момента сте в началната директория на вашата система Ubuntu веднага след отварянето на терминала на командния ред. Така че, опитайте се да изброите всички файлове и папки в началната директория на вашата Linux система, като използвате командата ls по -долу, и ще получите всичко. Можете да видите, че имаме някои текстови файлове и някои папки, изброени в него.







ls



Пример 01: Използване на „-A“ и „-B“

От горепосочените текстови файлове ще разгледаме някои от тях и ще се опитаме да приложим командата grep върху тях. Нека първо отворим текстовия файл one.txt, като използваме популярната команда cat отдолу:



$коткаone.txt





Първо ще видим съвпадение на определени думи в този текстов файл, като използваме командата grep, както е показано по -долу. Търсим думата ние в текстовия файл one.txt, използвайки инструкция grep. Изходът показва два реда от текстовия файл, в който имаме ние.

$захващанение one.txt



Така че в този пример ще показваме редовете преди и след конкретното съвпадение на думите в някои текстови файлове. Така че използвайки същия текстов файл one.txt, ние съпоставяме думата, докато показваме 3 реда преди нея, както е показано по -долу. Флагът -B означава Преди. Изходът показва само 2 реда преди конкретния ред на думата, тъй като файлът няма повече редове преди реда на определена дума. Той също така показва тези редове, в които присъства тази конкретна дума.

$захващане–В3ние one.txt

Нека използваме същата ключова дума, която ние от този файл, за да покажем 3 реда след реда, които имат думата ние. Знамето -А представя After. Изходът отново показва само 2 реда, тъй като няма повече редове във файла.

$захващане-ДА СЕ3ние one.txt

Така че, нека използваме нова ключова дума, която да бъде съпоставена и да покажем редовете или редовете преди и след реда, в който се намира. Така че ние използваме думата може да бъде съпоставена. Номерата на редовете в този случай са еднакви. Трите реда след съответстващата дума могат да бъдат показани по -долу с помощта на командата grep.

$захващане-ДА СЕ3може one.txt

Можете да видите изхода да се показва преди редовете на съвпадаща дума, като използвате ключовата дума can. За разлика от това, той показва само два реда преди реда на съответстващата дума, защото няма повече редове преди него.

$захващане–В3може one.txt

Пример 02: Използване на „-A“ и „-B“

Нека вземем друг текстов файл, two.txt, от домашната директория и да покажем съдържанието му с помощта на командата cat по -долу.

$коткаtwo.txt

Нека покажем 5 реда преди думата Most от файла two.txt с помощта на командата grep. Изходът показва 5 реда преди реда да съдържа определена дума.

$захващане–В5Най -много two.txt

Командата grep to показва 5 -те реда след думата Most от текстовия файл two.txt е дадена по -долу.

$захващане-ДА СЕ5Най -много two.txt

Нека променим ключовата дума, която да се търси. Този път ще използваме като ключова дума, която да бъде съпоставена. Показване на 2 реда преди думата на от текстовия файл two.txt може да се направи с помощта на командата grep по -долу. Изходът показва два реда за ключовата дума на, защото тя идва два пъти във файла. Така изходът съдържа повече от 2 реда.

$захващане–В2от two.txt

Сега показването на 2 реда на файл two.txt след реда, който съдържа ключовата дума на, може да стане с помощта на командата по -долу. Изходът отново показва повече от 2 реда.

$захващане-ДА СЕ2от two.txt

Пример 03: Използване на „-C“

Друг флаг, -C е използван за показване на редовете преди и след съответстващата дума. Нека покажем съдържанието на файла one.txt с помощта на командата cat.

$коткаone.txt

Избираме обществото като ключова дума, която трябва да бъде съчетана. По -долу командата grep ще покаже 2 реда преди и 2 реда след реда, който съдържа думата общество в него. Изходът показва един ред преди конкретния ред на думата и 2 реда след него.

$захващане-° С2общество one.txt

Нека да видим съдържанието на файла two.txt с помощта на командата cat по -долу.

$коткаtwo.txt

В тази илюстрация използваме стихотворения като ключова дума за съвпадение. Така че, изпълнете командата по -долу за това. Изходът показва два реда преди и два реда след съответстващата дума.

$захващане-° С2стихотворения two.txt

Нека използваме още една ключова дума от файла two.txt, за да бъде съпоставен. Този път консумираме природата като ключова дума. Така че, опитайте командата по -долу, докато използвате -C като флаг с характер на ключовата дума от файла two.txt. Този път изходът има повече от два реда в изхода. Тъй като файлът съдържа думата природа повече от веднъж, това е причината зад него. Ключовата дума природа, която е първа, има два реда преди и два реда след него. Докато вторият съвпада с една и съща ключова дума, природата има два реда преди него, но няма редове след него, защото е в последния ред на файла.

$захващане-° С2стихотворения two.txt

Заключение

Успешно показваме редовете преди и след конкретната дума, докато използваме инструкцията grep.