Aprenda un poco de shell todos los días: comando Linux Three Musketeers-grep

Prefacio

De Linux "tres mosqueteros" grepmedios: sed, awk,.
La razón por la que se llama Los Tres Mosqueteros es que las herramientas anteriores pueden procesar mejor los resultados de las consultas de Linux.

Expresión regular

Los comandos anteriores se denominan Tres mosqueteros porque pueden combinar expresiones regulares para procesar el contenido de la consulta, y solo los "Tres mosqueteros" anteriores se pueden usar en combinación con expresiones regulares. A continuación se describe el significado de los siguientes caracteres de expresión regular:

Metacarácter Caracteristicas Descripción
^ Coincide con la primera línea Los medios comienzan con un cierto carácter.
PS Coincidir con el final de la línea Significa que termina con un personaje
^ $ El significado de las líneas en blanco Significa línea en blanco
. Coincidir con cualquier carácter individual Significa coincidir con cualquier carácter
* Coincide con 0 o más de este carácter Representa cualquier número de caracteres repetidos
\ Personaje de escape Indica carácter de escape
[] Coincidir con los caracteres entre paréntesis Medios para filtrar los caracteres entre paréntesis
. * Representa cualquier número de caracteres Significa coincidir con cualquier número de caracteres

Los especiales son los siguientes:

Expresión regular Explicación
. Cualquier personaje.
[a B C] Significa para coincidir con un carácter, este carácter debe ser uno de abc.
[a-zA-Z] Significa para coincidir con un carácter, este carácter debe ser una de las 52 letras de az o AZ.
[^ 123] Coincide con un carácter, este carácter son todos los caracteres excepto 1, 2, 3.

Para algunos juegos de caracteres de uso común, el sistema define:

conjunto de caracteres Definición de sistema equivalente
[A-Za-z] Equivalente a [[: alpha:]]
[0-9] Equivalente a [[: dígito:]]
[A-Za-z0-9] Equivalente a [[: alnum:]
tabulador, espacio Esperando caracteres en blanco [[: espacio:]]
[ARIZONA] Equivalente a [[: superior:]]
[Arizona] Equivalente a [[: menor:]]
Puntuación [[:punto:]]

Partidos:

\{metro\} Coincide con el carácter anterior m veces
\{metro,\} Coincide con el carácter anterior al menos m veces
\{Minnesota\} Coincide con el carácter anterior al menos m veces y como máximo n veces
\? Haga coincidir el contenido que aparece antes de él 0 o 1 veces, equivalente a {0,1}
* Hacer coincidir el contenido que aparece antes de él cualquier número de veces es equivalente a {0,}, por lo que ". *" Expresa cualquier carácter cualquier número de veces, es decir, coincide con todo el contenido sin importar qué.

Los tres mosqueteros es muy potente, pero sólo necesitamos para dominar el campo eran buenos en: grep擅长查找功能, sed擅长取行和替换, awk擅长取列.

uso del comando grep

uso:

grep [选项]... PATTERN [FILE]...

Enumere algunos comandos de opciones comunes

Elegir opción Explicación
-color Colorea el texto coincidente
-v Por el contrario (invertir), muestra las líneas coincidentes sin patrón
-yo Ignorar mayúsculas y minúsculas (ignorar mayúsculas y minúsculas)
-norte Mostrar números de línea coincidentes
-C Cuente el número de filas coincidentes
-Los Mostrar solo cadenas que coincidan con el patrón
-q Modo silencioso, no se emite información
-UNA --After-context = NUM ​​imprime NUM líneas que terminan con texto
-SI --Before-context = NUM ​​imprime NUM líneas comenzando con texto
-C --Context = NUM ​​imprime NUM líneas de texto
-mi Darse cuenta de la lógica o relación entre varias opciones, por ejemplo: archivo grep -e'cat '-e'dog'
-w El texto coincidente solo puede ser una palabra, no una determinada parte de la palabra. Por ejemplo, si hay me gusta en el texto y yo busqué como, puedes usar la opción -w para evitar que coincida con me gusta
-MI Expresión regular extendida (Extend) abierta, usar regular es equivalente a egrep
-F No admite regularidad, que es equivalente a fgrep

ejemplo de comando grep

Uso 1:

[root@hadoop-master test-grep]# grep "root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@hadoop-master test-grep]# grep -n "root" /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin
[root@hadoop-master test-grep]# grep -vc "root" /etc/passwd
43
[root@hadoop-master test-grep]# grep -o "root" /etc/passwd
root
root
root
root

Uso 2:

[root@hadoop-master test-grep]# grep -A 2 "core id" /proc/cpuinfo
core id		: 0
cpu cores	: 1
apicid		: 0
[root@hadoop-master test-grep]# grep -B 2 "core id" /proc/cpuinfo
physical id	: 0
siblings	: 1
core id		: 0
[root@hadoop-master test-grep]# grep -C 2 "core id" /proc/cpuinfo
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 0

Uso tres:

[root@hadoop-master test-grep]# grep "/.*sh" /etc/passwd
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
setroubleshoot:x:990:986::/var/lib/setroubleshoot:/sbin/nologin
saned:x:989:983:SANE scanner daemon user:/usr/share/sane:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
leo:x:1000:1000:leo:/home/leo:/bin/bash
mysql:x:987:1001::/home/mysql:/bin/bash

Uso cuatro:

[root@hadoop-master test-grep]# grep "/.\{0,2\}sh" /etc/passwd
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
saned:x:989:983:SANE scanner daemon user:/usr/share/sane:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
leo:x:1000:1000:leo:/home/leo:/bin/bash
mysql:x:987:1001::/home/mysql:/bin/bash

Uso cinco:

[root@hadoop-master test-grep]# grep -w ".\{0,2\}sh" /etc/passwd
root:x:0:0:root:/root:/bin/bash
leo:x:1000:1000:leo:/home/leo:/bin/bash
mysql:x:987:1001::/home/mysql:/bin/bash

Uso seis:
p1

Supongo que te gusta

Origin blog.csdn.net/u011047968/article/details/108720525
Recomendado
Clasificación