Grep start: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 6: | Строка 6: | ||
$ cat /etc/passwd | $ cat /etc/passwd | ||
root:x:0:0:System Administrator:/root:/bin/bash | root:x:0:0:System Administrator:/root:/bin/bash | ||
bin:x:1:1:bin:/:/dev/null | bin:x:1:1:bin:/:/dev/null | ||
Строка 19: | Строка 18: | ||
==Вывести строки, содержащие следующие символы== | ==Вывести строки, содержащие следующие символы== | ||
| grep слово | |||
Пример: | |||
$ cat /etc/passwd | grep root | $ cat /etc/passwd | grep root | ||
Вывод: | |||
root:x:0:0:System Administrator:/root:/bin/bash | 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 | |||
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}} | ||
[https://losst.pro/gerp-poisk-vnutri-fajlov-v-linux Источник] | [https://losst.pro/gerp-poisk-vnutri-fajlov-v-linux Источник] |
Версия от 13:10, 5 ноября 2024
Внимание! Страница в разработке!!!
Предположим, у нас есть данные:
$ 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