10 Практически примера за командата Linux Grep

10 Практически примера за командата Linux Grep

Командата grep осигурява достъп до помощната програма grep, мощен инструмент за обработка на файлове, използван за намиране на модели в текстови файлове. Той има много практически случаи на използване и със сигурност е една от най -използваните команди на Linux. Това ръководство илюстрира някои прости, но полезни Linux греп команди, които имат приложение в реалния свят.





Примерен файл за демонстрация

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





търсенето в Outlook 10 не работи
cat <> test-file
This is a simple text file that contains
multiple strings as well as some telephone numbers
(555) 555-1234 (567) 666-2345
and email plus web addresses
john@doe.com
https://google.com
ftp://mywebserver.com
END

1. Намерете текст във файлове

За да търсите текстов модел във файл, просто стартирайте grep, последвано от името на шаблона. Също така посочете името на файла, който съдържа текста.





grep 'email' test-file

Тази команда ще покаже реда в нашия тест-файл който съдържа думата електронна поща . Можете също да търсите един и същ текст в множество файлове с помощта на grep.

grep 'example' /usr/share/dict/american-english /usr/share/dict/british-english

Горната команда показва всички екземпляри на думата пример в американски английски и британски английски речникови файлове.



2. Намерете думи за точно съвпадение

Командата grep на Linux, илюстрирана в по -ранния пример, също изброява редове с частични съвпадения. Използвайте дадената по-долу команда, ако имате нужда само от точното появяване на дума.

grep -w 'string' test-file

The или --word-regexp опцията grep ограничава изхода само до точни съвпадения. Grep се състои от някои допълнителни флагове, които могат да се използват и с командата по подразбиране.





Свързани: Как Grep получи името си? Историята зад създаването на Греп

3. Пренебрегвайте разликите между регистрите

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





grep -i 'this' test-file

Използвай или --ignore-case опция за изключване на чувствителността на регистъра.

4. Пребройте броя на шаблоните

The -° С флаг означава броя . Той показва броя на съвпаденията, които са намерени за определен модел. Администраторите могат да използват това за извличане на конкретна информация за системата.

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

ps -ef | grep -c $USER

Следващата команда показва броя на MP3 файлове, присъстващи в директория.

ls ~/Music | grep -c .mp3

5. Показване на номера на редове, съдържащи съвпадения

Може да искате да намерите номерата на редовете, които съдържат определено съвпадение. Използвай или -ред-номер опция grep за постигане на това.

cat /etc/passwd | grep -n rubaiat

Тази опция е особено полезна за отстраняване на грешки в изходните кодове и отстраняване на проблеми с регистрационните файлове. За да се покажат всички числа за редове в ~/.vimrc които се използват за конфигуриране на текстовия редактор Vim:

grep -n 'set' ~/.vimrc

6. Намерете имена на файлове с помощта на разширения

За да получите списък с всички MP3 файлове, присъстващи в ~/Музика директория:

ls ~/Music/ | grep '.mp3'

Можете да замените .mp3 с всякакви други разширения за локализиране на конкретни файлове. Следващата команда изброява всички php файлове, присъстващи в текущата работна директория.

как да преинсталирате драйверите на nvidia за windows 10
ls | grep '.php'

7. Намерете шаблони в компресирани файлове

Командата grep на Linux също може да намери шаблони в компресирани файлове. Ще трябва да използвате zgrep команда за това, обаче. Първо, създайте наш компресиран архив тест-файл като напишете:

gzip test-file

Сега можете да търсите текст или други модели в получения архив.

zgrep email test-file.gz

8. Намерете имейл адреси

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

grep '^[a-zA-Z0-9]+@[a-zA-Z0-9]+.[a-z]{2,}' test-file

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

9. Намерете телефонни номера с помощта на Grep

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

grep '(([0-9]{3})|[0-9]{3})[ -]?[0-9]{3}[ -]?[0-9]{4}' test-file

Гореспоменатата команда филтрира десетцифрени американски телефонни номера.

10. Намерете URL адреси от изходни файлове

Можем да използваме силата на grep за изброяване на URL адреси, намерени в текстови файлове. Дадената по-долу команда отпечатва всички URL адреси, присъстващи в тест-файл .

grep -E '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file

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

egrep '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file

Овладяване на командата Grep на Linux

Представихме няколко полезни примера за командата Linux grep за справяне с реални проблеми. Въпреки че тези примери илюстрират силата на grep за обработка на текст, ще трябва да овладеете регулярни изрази, ако искате да сте супер продуктивни с grep.

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

Дял Дял Туит електронна поща 7 начина да получите помощ от командния ред за Linux

Всички основни команди за изучаване на Linux команди от командния ред

Прочетете Напред
Свързани теми
  • Linux
  • Linux
  • Команди на Linux
За автора Rubaiat Hossain(39 статии са публикувани)

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

Още от Rubaiat Hossain

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

как да напуснете групов чат с съобщения
Щракнете тук, за да се абонирате
Категория Linux