Примери за команди на grep от Linux

Понякога потребителите се сблъскват с необходимостта да търсят определена информация във всички файлове. Често конфигурационните документи или други обемни данни съдържат голям брой линии, така че е невъзможно ръчно да се намерят необходимите данни. Тогава една от вградените команди за операционни системи на Linux идва на помощ, което ще ви позволи да намерите линиите само за няколко секунди.

Използвайте командата grep в Linux

Що се отнася до разликите между Linux дистрибуциите, в този случай те не играят никаква роля, тъй като командата grep, която ви интересува, е достъпна по подразбиране в повечето сборки и се използва по същия начин. Днес бихме искали да обсъдим не само ефекта на grep , но и основните аргументи, които могат значително да опростят процедурата за търсене.

Вижте също: Търсите файлове в Linux

Подготвителна работа

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

  1. Стартирайте файловия мениджър и отидете до желаната папка.
  2. Отваряне на Linux File Manager

  3. Щракнете с десния бутон върху желания файл и изберете "Properties" .
  4. Превключете към свойствата на папките в операционната система Linux

  5. В раздела „Основни“ прочетете реда „Родителска папка“ .
  6. Открийте родителската папка на файла в операционната система Linux

  7. Сега стартирайте “Терминал”, използвайки удобен метод, например чрез менюто или чрез натискане на комбинацията от клавиши Ctrl + Alt + T.
  8. Стартирайте терминал за по-нататъшна работа в Linux

  9. Тук отидете в директорията чрез командата cd /home/user/folder , където потребителят е потребителското име и папката е името на папката.
  10. Отидете в определена папка през терминал в Linux

Използвайте cat + название файла ако искате да видите цялото съдържание. Подробни указания как да работите с този екип можете да намерите в нашата друга статия на линка по-долу.

Използване на командата cat на Linux терминал

Още подробности: Примери за командите на Linux cat

Благодарение на горните стъпки, можете да използвате grep , като сте в правилната директория, без да указвате пълния път към файла.

Стандартно търсене на съдържание

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

  1. В командния ред въведете grep word testfile , където думата е информацията, която търсите и testfile е името на файла. Когато правите търсене извън папката, укажете пълния път като в /home/user/folder/filename . След въвеждане на командата натиснете клавиша Enter .
  2. Нормално търсене чрез командата grep в Linux

  3. Остава само да се запознаят с наличните опции. На екрана се показват цели линии, а стойностите на ключовете са маркирани в червено.
  4. Показване на нормални резултати от търсенето чрез командата grep в Linux

  5. Важно е да се вземе предвид случаят с писма, тъй като кодирането на Linux не е оптимизирано за търсене, без да се вземат предвид големи или малки знаци. Ако искате да заобиколите дефиницията на случая, въведете grep -i "word" testfile .
  6. Търсете файл с нечувствителен регистър в Linux

  7. Както можете да видите, в следващия екран, резултатът се е променил и е добавен още един нов ред.
  8. Показване на намерени думи в случай на липса на случай в Linux

Търсене със заснемане на низ

Понякога потребителите трябва да намерят не само точно съвпадение в редовете, но и да открият информацията, която идва след тях, например при докладване на конкретна грешка. Тогава правилното решение е да приложите атрибутите. Въведете grep -A3 "word" testfile в конзолата, за да включите следните три реда в резултата след мача. Можете да напишете -A4 , след което ще бъдат уловени четири реда, няма ограничения.

Покажете броя на редовете след ключовата дума в Linux

Ако вместо -A използвате аргумента -B + количество строк , резултатът е данните, които са до точката на въвеждане.

Покажете броя на редовете преди ключовата дума в Linux

Аргументът , от своя страна, улавя линии около ключова дума.

Покажете околните ключови думи в Linux

По-долу можете да видите примери за задаване на посочените аргументи. Моля, обърнете внимание, че трябва да вземете предвид случая и да поставите двойни кавички.

grep -B3 "word" testfile
grep -C3 "word" testfile

Търсете ключови думи в началото и в края на редовете

Необходимостта да се дефинира ключова дума, която е в началото или в края на ред, най-често се среща по време на работа с конфигурационни файлове, където всеки ред е отговорен за един параметър. За да видите точния запис в началото, трябва да регистрирате grep "^word" testfile . Знакът ^ отговаря само за използването на тази опция.

Търсете ключова дума в началото на линията Linux

Търсенето на съдържание в края на реда става приблизително по същия начин, само в кавички трябва да добавите знака $ и командата ще изглежда така: grep "word$" testfile .

Търсете по ключова дума в края на линията Linux

Търсете номера

При търсене на желаните стойности, потребителят не винаги има информация относно точната дума, присъстваща в низ. След това процедурата за търсене може да се извърши чрез номера, което понякога значително опростява задачата. Необходимо е само да използвате командата под формата на grep "[0-7]" testfile , където "[0-7]" е диапазонът от стойности, а testfile е името на файла, който ще бъде сканиран.

Търсете цифров диапазон в Linux

Анализ на всички директорийни файлове

Сканирането на всички обекти в същата папка се нарича рекурсивно. Потребителят трябва да приложи само един аргумент, който анализира всички файлове в папката и показва съответните линии и тяхното местоположение. Ще трябва да въведете grep -r "word" /home/user/folder , където / home / user / folder е пътят към директорията за сканиране.

Рекурсивно търсене чрез командата grep в Linux

Синьото ще покаже мястото за съхранение на файла и ако искате да получите линии без тази информация, задайте друг аргумент, за да направите командата да получите този grep -h -r "word" + путь к папке .

Рекурсивно търсене без показване на пътя на файла в Linux

Точно търсене на думи

В началото на статията вече говорихме за обичайното търсене на думи. С този метод в резултатите ще бъдат показани допълнителни комбинации. Например, ще намерите думата Потребител , но командата също ще покаже Потребител 123 , Потребител Парола и други съвпадения, ако има такива. За да избегнете този резултат, задайте аргумента -w ( grep -w "word" + имя файла или его расположение ).

Показвайте само точни записи в Linux.

Тази опция се изпълнява и когато трябва да търсите по няколко точни ключови думи наведнъж. В този случай, напишете egrep -w 'word1|word2' testifile . Моля, обърнете внимание, че в този случай буквата e се добавя към grep и се поставят единични кавички.

Покажете няколко точни записа в Linux

Търсете низове без определена дума.

Обмислената програма може не само да намира думи във файлове, но и да показва линии, в които няма зададена от потребителя стойност. След това, преди да въведете стойността на ключа и файла, -v добавя -v . Благодарение на нея, когато активирате командата, ще видите само съответните данни.

Намерете низове без посочената дума в Linux

Синтаксисът на grep събра още няколко аргумента, които могат да бъдат обяснени накратко:

  • -I - показва само имената на файловете, които отговарят на критериите за търсене;
  • -s - деактивиране на известията за открити грешки;
  • -n - показва номера на реда във файла;
  • -b - показва номера на блока преди реда.

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

Днес напълно разглобихме командата grep , достъпна в Linux дистрибуциите. Той е един от стандартните и често използвани. Можете да прочетете за други популярни инструменти и техния синтаксис в нашия отделен материал на следния линк.

Вижте също: Често използвани команди в терминала на Linux