Какво е GREP в Linux и как го използвате?
Grep е малка Unix програма за намиране на съвпадащи модели. Започна като програма Unix, може да се намери на Linux, Mac и BSD. Тя може да чете почти всеки текст, което означава, че може да чете вход от други команди, или може да отвори и разглежда директно файлове. Grep е невероятно полезно, особено за преглеждане на директории от командния ред.
С това, защо не опитате една от най-често използваните за Grep, намиране на файл в директория. Разгледайте папката "~ / Downloads" за всички изображения "jpg".
ls ~ / Downloads grep .jpg
Grep ще ги изброи и ще подчертае частта ".jpg", тъй като това е, което търсите.
Извеждате изхода (с командата "|") на почти всяка команда в grep
. Ако имате обикновен текстов файл, който се намира наоколо, извадете го и преместете резултата в Grep, за да намерите конкретна дума.
котка файл.txt grep дума
Grep ще отпечата всички линии във файла, съдържащи думата, която сте му казали да търси.
Забравете случая
Системите, подобни на Unix, са чувствителни към буквите, което означава, че "Ubuntu" е съвсем различно от "ubuntu". Това може да е болка при търсене на нещо. Греп има знаме, за да премахне проблема. Добавете флага -i
към търсенето си и Grep ще пренебрегне случая.
ls ~ / Downloads grep -i Ubuntu
Търсене в файл
Не би било толкова удобно да се нуждаете от cat
всеки път, когато искате да търсите файл. Всъщност не. Grep може да търси чрез самите файлове. Предайте пътя до файла и Греп ще направи останалото.
grep -i word /path/to/file.txt
Рекурсивни търсения
Grep може да търси едновременно повече от един файл или директория. Бъдете предупредени, ако търсите имена на файлове, Grep ще търси и файлове по подразбиране. Знакът -r
казва на Греп да търси рекурсивно.
ls ~ / Downloads grep -r .deb
Можете да го сдвоите и с други знамена. Може да искате да включите флага " -I
когато правите рекурсивни търсения, за да запазите Grep да преглежда през двоични файлове.
ls ~ / Downloads grep -iIr .deb
Намерете противоположното
Можете също така да кажете на Греп да търси всичко, което не съдържа посочения шаблон. Това би било добре в случаите, когато трябва да намерите грешка или имате директория с много файлове от един или два вида.
grep -rv '192.168.1.110' / etc / nginx
Думи и линии
Също така може да е полезно да кажете на Греп да търси пълни думи или линии, вместо нещо, съдържащо определен модел. Представете си, че търсите поредица от символи, които са често срещани като част от една дума, но трябва да са отделни. Например думата "то". Очевидно нямаше да има много пъти, всъщност бихте искали да търсите модел като "то", но това е доказателство.
котка textfile.txt grep -w it
Вместо да отпечатва всяка дума, която съдържа модела, Grep само ще отпечата думата само по себе си. Той прави същото за всички редове с флага -x
, така че ако търсите фраза или единичен ред в конфигурационния файл, това наистина може да помогне.
Ако се интересувате от разследването на всичко, което Греп може да направи, стартирайте man grep
в терминал за цялата документация. Тази статия обхваща основите и всичко, което обикновено се нуждаете от този мощен инструмент. Споделете с нас, ако знаете каквито и да е мощни употреби на командата Grep.
Кредит на изображението: Shell скриптове от интерес за координатите