Терминалът на Linux е пълен с полезни команди, но малко са толкова мощни, колкото привидно простите grep. То означава Отпечатване с глобален регулярен израз, отпечатване на резултатите от дефинирани от потребителя системни търсения на колекции от знаци.
grep е изключително мощен, но може да бъде доста плашещ за използване, така че днес ще научите някои основни неща. Ако търсите някаква информация в документите на вашата машина, обикновено ще търсите няколко думи наведнъж.
Тази статия се фокусира върху това как да търсите множество низове с помощта на grep и ще ви покаже няколко подобни съвета и трика за използване на grep като цяло.
Търсене в множество низове в grep
Преди да започнете, ще трябва да се уверите, че сте запознати с някои основи на Linux. Първо, ще трябва да можете да изведете терминал - на повечето системи правите това с комбинацията от клавиши Ctrl + Alt + T, или чрез менюто с приложения.
Също така ще трябва да сте запознати с това как да препращате файлове по път с помощта на терминала. Например, ако искате да въведете пътя за текстов документ, намиращ се в папка, наречена
работа вътре в У дома папка, вие бихте го направили с помощта на този формат:~/work/textdocument.txt
Този синтаксис, използвайки ~ и /, последвано от местоположението на файла в началната папка, е това, което ще използвате, за да покажете на командата grep кои файлове да търсите.
Да кажем, че искате да намерите всяко срещане на думите пчела и Ванеса в текстов документ, съдържащ сценария от филма Bee от 2007 г. Синтаксисът изглежда така:
grep -E 'пчела| Ванеса' ~/work/beescript.txt
Когато изпълните тази команда, ще получите обратно списък с всеки ред в документа, съдържащ думата пчела или думата Ванеса.
Нека разбием малко тази команда:
grep -E
Първата част изпълнява командата grep с -Е опция. Това насочва grep към търсене с помощта на Еразширен регулярен израз. Различните типове регулярни изрази са тема за още един ден - и овладяването на регулярни изрази отнема нещо живот, но за целите на този урок, командата bold-E ви позволява да търсите множество низове, като използвате grep.
grep -E 'пчела| Ванеса'
Следващата част съдържа низовете, които искате да търсите. Те трябва да се съдържат в единични кавички, с тръба между всяка дума.
grep -E 'пчела| Ванеса' ~/work/beescript.txt
Последната част от извикването grep взема пътя до файла, който искате да търсите; в този случай сценарият на филма Bee от 2007 г.
grep Съвети и трикове
Това е страхотно начало, но има много практически начини за използване на grep. Сега, когато знаете как да намерите множество низове, ето няколко команди, които могат да пренесат тази сила на следващото ниво:
grep -E 'пчела| Ванеса' ~/work/beescript.txt ~/fun/mybeestory.txt
Това е много подобно на предишната команда, с изключение на това, че връща всички редове, съдържащи bee и Vanessa, както от сценария на филма Bee, така и от моя собствен текстов файл за Bee.
Всички тези споменавания на пчели обаче стават доста трудни за четене.
grep -E 'пчела| Ванеса' ~/work/beescript.txt ~/fun/mybeestory.txt | по-малко
Това отнема същата команда grep и я въвежда по-малко. Това отваря резултатите в лесен за навигация формат, който ви позволява да превъртате нагоре и надолу с помощта на j и к клавиши и търсене в резултатите с помощта на / ключ.
grep -E 'пчела| Ванеса' ~/work/beescript.txt ~/fun/mybeestory.txt > beeresults.txt
Подобно на командата less, гореспоменатата команда взема резултатите grep и ги записва всички в отделен файл. След това можете да отворите този файл в любимия си текстов редактор за по-нататъшно редактиране.
Свързани: Справочник за команди на Linux
Работа с grep в Linux
Надяваме се, че получавате представа колко мощен може да бъде grep - и това дори не е надраскване на повърхността. Върви напред и grep!
Чудили ли сте се някога какво означава Grep? Ето истинската история зад създаването на Grep.
Прочетете Следващото
- Linux
- Linux команди
- Linux Bash Shell
Иън Бъкли е журналист на свободна практика, музикант, изпълнител и видео продуцент, живеещ в Берлин, Германия. Когато не пише или не е на сцената, той се занимава с DIY електроника или код с надеждата да стане луд учен.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!
Щракнете тук, за да се абонирате