Linux является мощным, гибким и удобным для пользователя.
Это верно, я сказал это … удобным для пользователя.
Хотя вы можете не думать об этом, одна из причин, по которой Linux настолько удобен для пользователя (за пределами удивительных настольных сред, которые он может предложить),-это огромный массив инструментов командной строки, которые он включает.
Я действительно просто сказал?
Я сделал.
Существуют определенные команды Linux, которые помогают сделать операционную систему с открытым исходным кодом очень полезной, и с этими командами небо является пределом того, что вы можете достичь.
Одна из этих команд — грип.
Что такое Греп?
Глобальное регулярное выражение печати (GREP) — это команда Linux, которая ищет шаблоны в файлах, а затем печатает каждую строку, которая соответствует шаблону, для которой вы ищете.
Хотя GREP может быть не самой сексуальной командой, доступной для операционной системы Linux, она, безусловно, является одним из наиболее полезных, потому что GREP упрощает поиск шаблонов в файлах. Это очень удобно, когда вы имеете дело с огромным файлом, и вам нужно найти конкретную строку. Например, у вас есть большой сценарий Python, и вам нужно найти определенную строку. Вместо того, чтобы медленно прокручивать весь файл, пока вы не найдете то, что ищете, вы можете просто использовать GREP, чтобы сделать тяжелую работу для вас.
Как использовать Grep
Теперь, когда вы знаете, что такое Grep, давайте поговорим о том, как он используется.
Основной синтаксис команды GREP выглядит так:
grep pattern file.txt 1 file grep patter.txt
С помощью вышеуказанной команды GREP будет искать шаблон в file.txt.
Допустим, у вас есть файл Python, newstack.py, и вам нужно найти строку sciped_list. Для этого вы выпустите команду:
grep «sclick_list» newstack.py 1 grep «slick_list» newstack.py
Если бы был только один экземпляр строки нарезанного_листа, он бы распечатал только один раз. Если бы было несколько экземпляров, Греп сообщил бы каждый. Например, вы можете увидеть в выводе:
scized_list = my_list[my_slice]
print (sceed_list) 12 scized_list = my_list[my_slice]Печать (нарезанный_ст)
Есть, конечно, варианты, которые вы можете использовать с Grep, например:
- -E: интерпретировать закономерности как расширенные регулярные выражения.
- -F: интерпретировать шаблоны как фиксированные строки.
- -G: интерпретировать закономерности как основные регулярные выражения.
- -P: интерпретируйте закономерности как Perl-совместимые регулярные выражения.
- -e: Используйте шаблоны в качестве шаблонов.
- -f: Поиск в предыдущем файле для шаблонов.
- -i: Игнорировать дело.
- -v: инверверный матч.
- -W: Выберите только те строки, содержащие соответствующие сочетания, которые образуют целые слова.
- -x: выберите только те совпадения, которые точно соответствуют всей строке.
- -c: подавлять нормальный выход.
- –Color: окружение соответствует строке, соответствующим линиям, контекстным линиям, именам файлов, номеров строк, байтовых смещений и сепараторов (для полей и групп контекстных линий) с последовательностями побега и отображают их в цвете.
- -n: включите номер строки.
Конечно, есть другие варианты, которые вы можете использовать, о которых можно прочитать на странице Grep Man (Man Grep).
Один из вариантов, которые я часто использую, -n. Используя эту опцию, я увижу не только сообщаемые строки, но и соответствующие номера строк.
Итак, если я запускаю команду:
grep -n «slicke_list» newstack.py 1 grep -n «slick_list» newstack.py
Я мог бы увидеть следующее:
8: scized_list = my_list[my_slice]
11: print (scized_list) 12 8: scized_list = my_list[my_slice]11: Печать (нарезанный_ст)
Первый экземпляр scied_list находится в строке 8, а второй в строке 11. Это действительно удобно, когда вы ищете через более крупный файл, и вам нужно знать точный номер строки для найденного шаблона. Это намного облегчает вам открыть файл в вашем любимом редакторе и быстро найти линию. Например, вы можете открыть файл с помощью редактора Nano и прокрутить вниз. Когда вы приближаетесь к номеру строки, вы можете использовать комбинацию клавиш CTRL+C, чтобы показать номер строки, для которого в настоящее время находится ваш курсор.
Эффективный.
Греп и регулярные выражения
Греп достаточно мощный, чтобы использоваться с регулярными выражениями. Например, вы можете найти строки, содержащие адреса электронной почты (.+\@.+), За которыми следуют толстая кишка, затем любые символы (.*). Для этого вы можете выпустить команду:
захватить -о[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,} ‘file.txt 1 grep -oe'[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,} ‘file.txt
Если в File.txt есть какие -либо адреса электронной почты, они будут перечислены. Если есть многочисленные адреса электронной почты, вы можете добавить опцию -n, чтобы добавить номер строки к выводу. Эта команда может выглядеть как:
Grip -oo ‘[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,} ‘1 grip -oo'[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,} ‘
Определить разницу?
Команда GREP не только очень мощная, но и очень полезна. Например, вы можете использовать GREP в сценарии Linux Bash. Вот пример:
#!/bin/bash # определить шаблон поиска и файл для поиска search_pattern = «example_pattern» file_to_search = «/path/to/your/file.txt» # grep, чтобы найти все входы с шаблона в файле matched_lines = $ [ $? -eq 0 ]; Тогда # Если grep нашел какие -либо совпадения, отобразите их на экране Echo »« Нашел эти строки: «echo» $ matched_lines «else # отобразить сообщение об ошибке, если не было найдено никаких совпадений» нет «Нет вхождения шаблона в $ file_to_search». FI 12345678910111213141516171819 #!/bin/bash # Определите шаблон поиска и файл в searchsearch_pattern = «example_pattern» file_to_search = «/path/to/your/file.txt» # grep для поиска всех случаев searge -neplines yeptember wrep. $ File_to_search) if [ $? -eq 0 ]; Тогда # Если grep нашел какие -либо совпадения, отобразите их на ScreeneCho «Нашел эти строки:« echo »$ matched_lines» else # отобразить сообщение об ошибке, если не было совпадений «нет» никаких случаев шаблона в $ file_to_search «. фигура
В приведенном выше скрипте вы будете изменять search_pattern и file_to_search, чтобы удовлетворить ваши потребности.
И это, друзья мои, как вы используете команду Linux Grep. Используйте его с умом, и это сделает ваш опыт Linux еще более эффективным и мощным.
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Джек Уоллен-это то, что происходит, когда генеральный разум с умом с современным Snark. Джек — искатель истины и писатель слов с квантовым механическим карандашом и разрозненным ударом звука и души. Хотя он проживает … читайте больше от Джека Валлена