grep

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

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

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

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

ls

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

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

$ котка едно.текст

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

$ grep ние едно.текст

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

$ grep -B 3 ние едно.текст

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

$ grep -А 3 ние едно.текст

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

$ grep -A 3 може едно.текст

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

$ grep -B 3 може едно.текст

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

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

$ котка две.текст

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

$ grep -B 5 Най-много две.текст

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

$ grep -A 5 Най-много две.текст

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

$ grep -B 2 от две.текст

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

$ grep -А 2 от две.текст

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

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

$ котка едно.текст

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

$ grep -C 2 общество едно.текст

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

$ котка две.текст

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

$ grep -C 2 стихотворения две.текст

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

$ grep -C 2 стихотворения две.текст

Заключение

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

Най-добрите дистрибуции на Linux за игри през 2021 г
Операционната система Linux е изминала дълъг път от първоначалния си, прост, базиран на сървъра външен вид. Тази операционна система се подобри неимов...
Как да заснемете и поточно предадете игралната си сесия на Linux
В миналото играта на игри се смяташе само за хоби, но с течение на времето игралната индустрия отбеляза огромен ръст по отношение на технологиите и бр...
Най-добрите игри за игра с ръчно проследяване
Oculus Quest наскоро представи страхотната идея за ръчно проследяване без контролери. С непрекъснато нарастващия брой игри и дейности, които изпълнява...