Grep start
Версия от 13:10, 5 ноября 2024; Petr-akhlamov (обсуждение | вклад)
Внимание! Страница в разработке!!!
Предположим, у нас есть данные:
$ cat /etc/passwd root:x:0:0:System Administrator:/root:/bin/bash bin:x:1:1:bin:/:/dev/null daemon:x:2:2:daemon:/:/dev/null adm:x:3:4:adm:/var/adm:/dev/null lp:x:4:7:lp:/var/spool/lpd:/dev/null mail:x:8:12:mail:/var/spool/mail:/dev/null news:x:9:13:news:/var/spool/news:/dev/null <...>
Для того чтобы "подставить" определенные значения в команду можно использовать команду grep. И в этой статье будет описана попытка объяснить данную утилиту для новичков.
Вывести строки, содержащие следующие символы
| grep слово
Пример:
$ cat /etc/passwd | grep root
Вывод:
root:x:0:0:System Administrator:/root:/bin/bash
Вывести строки независимо от регистра
grep -i "слово"
Пример:
$ grep -i "service" /etc/nsswitch.conf
Вывод:
# This is the Name Service Switch configuration file. This file should # should stop if the search with the previous service turned up nothing. # server responding) then the search continues with the next service. # Legal name services are: # dns Use DNS (Domain Name Service) services: files #services: nisplus [NOTFOUND=return] files
Шаблоны для поиска
Указав шаблоны, вы можете отфильтровать поиск по конкретным словам:
grep -e "слово1" -e "слово2"
Пример:
$ grep -e "petr" -e "root" /etc/passwd
Вывод:
root:x:0:0:System Administrator:/root:/bin/bash petr:x:500:500::/home/petr:/bin/bash petr_a:x:501:501:1st hasher satellite for petr:/dev/null:/dev/null petr_b:x:502:502:2nd hasher satellite for petr:/dev/null:/dev/null
Указание номера строки
Указав следующий параметр, в выводе вы получите номер строки, содержащий по фильтру символ.
grep -n 'слово'
Пример:
$ grep -n petr /etc/passwd
Вывод:
55:petr:x:500:500::/home/petr:/bin/bash 57:petr_a:x:501:501:1st hasher satellite for petr:/dev/null:/dev/null 58:petr_b:x:502:502:2nd hasher satellite for petr:/dev/null:/dev/null
Указание строки с символом, который например может использоваться bash
grep -F "символ"
Пример:
$ grep -F "[" /etc/grub.d/00_header
Вывод:
if [ "x${GRUB_DEFAULT}" = "x" ] ; then GRUB_DEFAULT=0 ; fi if [ "x${GRUB_DEFAULT}" = "xsaved" ] ; then GRUB_DEFAULT='${saved_entry}' ; fi if [ "x${GRUB_TIMEOUT}" = "x" ] ; then GRUB_TIMEOUT=5 ; fi <...> if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ] && [ "x$GRUB_BUTTON_CMOS_CLEAN" = "xyes" ]; then if [ "x${GRUB_INIT_TUNE}" != "x" ] ; then if [ "x${GRUB_BADRAM}" != "x" ] ; then