Как да използваме Grep рекурсивно?

How Use Grep Recursively



Командата Grep се използва за търсене на текст от файлове. Това е универсален модел, който извиква grep с –r. –R опция за търсене на файлове рекурсивно от поддиректории, започвайки от текущата директория. Командата се изпълнява от директорията от най-високо ниво. Например /home /abc и т.н. Grep е инструмент за получаване на зависимости при преместване от един хост на друг. Ако не споменем директория в командата, grep ще търси в текущата работна директория. За да изпълняваме grep рекурсивно, има три аргумента, които сме взели от man страницата на grep.

$Човечезахващане







–Include се използва за точно съвпадение във файла, който може да бъде файлове, които присъстват в директорията, или по подразбиране. –R предполага името на директорията, както е описано по -рано, ако в командата не е дефиниран път, се взема предвид текущата директория. Следва само символична връзка. –R е доста различен от –r, защото чете всички файлове, не само символично дефинираните.



Синтаксис

Схват -R модел/път/

Пътят е път към директорията. А моделът е дума или низ, който искате да търсите.



Предпоставка

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





Всички файлове в Linux

Тази команда ще ви помогне да търсите всички имена на файлове в директориите на вашата система. Тъй като –l работи, като предоставя само имената на файловете, –r ще ви помогне да търсите символично навсякъде, където присъства необходимата дума, ще дойде като изход. Докато Aqsa е думата, която искаме да търсим. Тази команда е без никакъв път към директорията, защото тук искаме всички възможни имена на файлове в системата. Ако сме предоставили път, тогава процесът на търсене ще има ограничения.

$захващане–R –l aqsa



Прост пример

За да разберем дилемата на рекурсивност с помощта на пътя, въведохме прост пример, който да ръководи потребителя. Както е показано в командата по -долу, универсална е дума, която искаме да търсим. След думата има директория, в която искаме да сортираме. Той показва както името на файла с директорията, така и целия текст във файла. –R също показва двоичните файлове.

$захващане–R универсален/У дома/aqsayasin

Рекурсивно търсене във всички директории и поддиректории

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

$захващане–R къща*

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

Grep Рекурсивно за струна

За разлика от горните примери, grep работи върху низ в конкретната директория. / etc/ е командната директория, което означава, че търсенето ще се извършва през тази директория, IP адреса на компютър. Неговата информация се записва в директорията, като имената на файловете присъстват в директорията/etc/ppp/. Опцията е името на определена папка. Тази команда ще прочете всички файлове в дадената директория.

$захващане–R 192.168.1.5/и т.н./

Имената на файла в изхода могат да бъдат потиснати с помощта на опцията –h. Командата е следната.

$захващане -R '192.168.1.5' /и т.н./

И двата разделителя могат да бъдат записани като -h -R в команда.

Търсете рекурсивно без директория

Рекурсивното търсене може да се извърши и без използване на директория, като просто търсите дума с една дума.

$захващане- съпруга

Думата съпруга се търси автоматично във всички директории, защото когато няма спомената директория, процесът на търсене ще продължи във всички файлове и директории на системата. Той също така ще включва двоични файлове заедно с текстовите файлове. Адресът на файла и имената на файловете се показват първо. Докато текстът във файла се показва. Показва се не само обикновеният текст, но и командата grep, приложена към текста на файла, т.е. grep „Аз съм домашна съпруга“.

Grep Точни множество модели

Търсенето на множество методи също е функция, получена чрез командата grep. -rw се използва за изследване на конкретното съвпадение. -e се използва за добавяне на повече от един модел в командата. Пътят на директорията е споменат, за да направи системата удобна за търсене. Двоичните файлове са изключени, тъй като ограничението е въведено при добавяне на директория в командата. Изходът съдържа името на директорията на файла и името на файла. Също така се показва текст във файла.

$захващане–Rw ‘/У дома/aqsayasin/'

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

Grep Рекурсивно използване - -Включване

—Include съвпада с дадения файлов модел и работи ефективно, тъй като също така ускорява процеса на търсене, който работи с повечето файлове. Тук той не носи двоични или компилирани или файлове с изображения в него. Разширението на файла се използва за добавяне на ограничения към командата. Директорията се споменава, за да донесе необходимия изход. Включената ключова дума е доста напреднала в grep в сравнение с други функционалности.

$захващане–R --включва=*txt сестра/У дома/aqsayasin

Заключение

В тази статия ние обяснихме всеки пример, за да демонстрираме използването на рекурсивна функция grep. Рекурсивна функция се използва за търсене с ограничения и точно във всички директории в системата. Ако директория не присъства, текущата директория се счита по подразбиране.