Команда Grep: мощен инструмент за намиране на текст от терминала

Команда Grep

Почти всеки, който има компютър или работи с такъв, ще знае клавишната комбинация Ctrl + F за намиране на текст. „F“ означава „Намери“, „намери“ на английски и може да се използва, например, за намиране на текст на уеб страница. Този пряк път е наличен и в много приложения, има програми, които използват „B“ за „Търсене“, но тези преки пътища работят само ако сме вътре в приложението и с отворен файл. В Linux имаме много мощни инструменти, които можем да стартираме от терминала и ако искаме намерете всеки текст, който е в нашия екип, ние ще използваме командата Впиши.

Впиши Това е команда, която ще ни помогне да намерим текст във файла, който посочваме. Името му идва от g / re / p, команда, която работи за нещо подобно в текстов редактор на Unix / Linux. Както много други команди, Впиши Има много налични опции, които ще добавим под формата на букви и всеки ще изпълнява различна задача. Чрез комбинирането на тези опции ще можем да извършваме сложни търсения в един или повече файлове. Тук ще ви покажем всичко, което трябва да знаете.

с Впиши ще намерим всеки текст във всеки файл

На първо място ще обясним наличните опции:

  • -i: няма да прави разлика между главни и малки букви.
  • -w: принудете го да намира само конкретни думи.
  • -v: избира редовете, които не съвпадат.
  • -n: показва номера на реда с исканите думи.
  • -h: премахва префикса от името на Unix файла в изхода.
  • -r: търси директории рекурсивно.
  • -R: като -r, но следвайте всички символни връзки.
  • -l: показва само имена на файлове с избрани редове.
  • -c- Показва само един брой на файл от избраните редове.
  • -Цвят: Показва съответстващите модели в цветове.

В изображението, което заглавявате в тази статия, потърсих думата „Изображения“ във файла „830.desktop“, който е в този път. Както можете да видите, аз написах:

grep Imágenes /home/pablinux/Documentos/830.desktop

Имайте предвид, че в тази статия ще напишем примери, които трябва да бъдат модифицирани според нашите предпочитания за търсене. Когато казваме „Файл“, „Word“ и т.н., ние ще се позоваваме на файла с неговия път. Ако току-що бях написал "grep Images 830.desktop", щях да получа съобщение, че файлът не съществува. Или поне така би било, освен ако файлът не беше в главната директория.

Други примери биха били:

  • grep -i images /home/pablinux/Documentos/830.desktop, където „изображения“ би била думата, която искаме да намерим, а останалото файлът с неговия път. Този пример ще търси "изображения" във файла "830.desktop" без регистрация.
  • grep -R изображения: ще търси всички редове на директория и всички нейни поддиректории, където се намира думата "изображения".
  • grep -c пример test.txt: това ще ни потърси и ще покаже общия брой пъти, когато "пример" се появява във файл, наречен "test.txt.

С grep ние също можем да търсим файлове

Ако това, което искаме, е да намерим файла 830.desktop, ще напишем следната команда:

grep 830.desktop

Това ще изпълни a потърсете файла «830.desktop» в личната ни папкаС други думи, ако файлът е в личната папка на друг потребител, той няма да бъде намерен. Това е най-нормалното нещо в света, защото потребителят няма разрешение за достъп до съдържанието на друг без паролата си.

Как да извършвате рекурсивни търсения

Впиши това също ни позволява извършва търсения, подчинени на повтарящи се правила или насоки. Например прочетете всички файлове във всяка директория, които съдържат думата "Pablinux". За това ще напишем:

grep -r Pablinux /home/

О, добре:

grep -R Pablinux /home/

Ще видим резултатите за "Pablinux" на отделен ред, предшестван от името на файла, в който е намерен. Ако не искаме да виждаме имената на файловете в изхода на данните, ще използваме опцията -h (от "скрий"; скрий):

grep -h -R Pablinux /home/

Можем да се присъединим към опциите заедно и да напишем "-hR" без кавичките.

Как се правят точни търсения на думи

Понякога има файлове, които съдържат това, което искаме да търсим нещо друго. Например, това може да ни се случи в сложни думи и чрез търсене на „гори“ можем да намерим „рейнджъри“. Ако искаме намери точна дума ще използваме опцията -w:

grep -w bosques /home/pablinux/Documentos/vacaciones.txt

Горната команда ще търси "гори", игнорирайки рейнджъри, във файла "vacation.txt" в посочения път. Ако това, което искаме, е да търсим две различни думи, ще използваме командата егреп:

egrep -w bosques|plantas /ruta/del/archivo

Знайте колко пъти дадена дума се появява във файл

Впиши той също е способен на пребройте колко пъти се появява дума във файл. За това ще използваме опцията -c:

grep -c prueba /ruta/al/archivo

Добавянето на опцията -n това, което ще видим, е номерът на реда, в който се появява думата.

Обратни справки

Можем да направим и обратното, т.е. търсете редове, които не съдържат дума. За това ще използваме опцията -v, която ще бъде както следва:

grep -v la ruta/al/archivo

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

Достъп до системна информация с Впиши

Модел на компютър

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

cat /proc/cpuinfo | grep -i 'Model'

О, добре:

grep -i 'Model' /proc/cpuinfo

Ако това, което искаме, е да видим имената на дисковите единици, ще напишем:

dmesg | egrep '(s|h)d[a-z]'

Как да се изброят само съответстващи имена на файлове

Ако искаме да видим списък само с имената на файловете, които съответстват на търсенето, ще използваме опцията -l, както е показано по-долу:

grep -l 'main' *.c

И ако искаме да видим думата в цветове, ще напишем:

grep --color palabra /ruta/al/archivo

Както можете да видите, командата Впиши е много мощен инструмент Заслужава си особено в случаите, когато не помним къде сме написали нещо или в програмирането. Освен това ни помага да открием информация за системата по начин, който ще се хареса на любителите на терминала. Това ръководство за командата за намиране на текстове е било полезно за вас Впиши?


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Нордри каза той

    Здравейте!
    Когато казвате, че Grep се използва и за търсене на файлове, не мисля, че е правилно, защото ако стартирате grep EXPRESSION и не му предадете файла, той ще изчака въвеждането на данните от стандартния вход.
    Според страницата с ръководството:
    grep търси посочените входни ФАЙЛОВЕ за редове, съдържащи съвпадение на дадения ПАРТЕН. Ако не са посочени файлове или ако е даден файлът „-“, grep търси стандартен вход.
    Ето защо можете да го използвате в конвейери, като този, който анализирате изхода на / proc / cpuinfo, като предадете изхода на тази команда като вход, за да можете да извършите търсенето.
    поздравления

  2.   Ana каза той

    Много добър пост.
    Обяснявате го много добре и преминавате направо към въпроса.