Requisito previo: grep
Expresión regular básica
La expresión regular brinda la capacidad de hacer coincidir una «string de texto» de una manera muy flexible y concisa. Una «string de texto» se puede definir además como un solo carácter, palabra, oración o patrón particular de caracteres.
Al igual que los comodines del intérprete de comandos que coinciden con nombres de archivos similares con una sola expresión, grep utiliza una expresión de un tipo diferente para coincidir con un grupo de patrones similares.
- [ ] : Coincide con cualquiera de los caracteres establecidos
- [ ] con guión : Coincide con cualquiera de un rango de caracteres
- ^ : El patrón que le sigue debe aparecer al principio de cada línea
- ^ con [ ] : El patrón no debe contener ningún carácter en el conjunto especificado
- $ : el patrón que lo precede debe aparecer al final de cada línea
- . (punto) : Coincide con cualquier carácter
- \ (barra invertida) : Ignora el significado especial del carácter que le sigue
- * : cero o más ocurrencias del carácter anterior
- (punto).* : Nada o cualquier cantidad de caracteres.
Ejemplos
(a) [ ] : Coincide con cualquiera de los caracteres establecidos
-
$grep “New[abc]” filename
Especifica el patrón de búsqueda como:
Newa , Newb or Newc
-
$grep “[aA]g[ar][ar]wal” filename
Especifica el patrón de búsqueda como
Agarwal , Agaawal , Agrawal , Agrrwal agarwal , agaawal , agrawal , agrrwal
(b) Use [ ] con guión : Coincide con cualquiera de un rango de caracteres
-
$grep “New[a-e]” filename
Especifica el patrón de búsqueda como
Newa , Newb or Newc , Newd, Newe
-
$grep “New[0-9][a-z]” filename
Especifica el patrón de búsqueda como: Nuevo seguido de un número y luego un alfabeto.
New0d, New4f etc
(c ) Use ^ : El patrón que le sigue debe ocurrir al comienzo de cada línea
-
$grep “^san” filename
Líneas de búsqueda que comienzan con san. Especifica el patrón de búsqueda como
sanjeev ,sanjay, sanrit , sanchit , sandeep etc.
-
$ls –l |grep “^d”
Mostrar solo la lista de directorios
-
$ls –l |grep “^-”
Mostrar solo la lista de archivos normales
(d) Use ^ con [ ] : el patrón no debe contener ningún carácter en el conjunto especificado
-
$grep “New[^a-c]” filename
Especifica el patrón que contiene la palabra «Nuevo» seguido de cualquier carácter que no sea ‘a’, ‘b’ o ‘c’
-
$grep “^[^a-z A-Z]” filename
Líneas de búsqueda que comienzan con un carácter no alfabético
(e) Use $ : el patrón que lo precede debe aparecer al final de cada línea
$ grep "vedik$" file.txt
(f) Usar . (punto) : Coincide con cualquier carácter
$ grep "..vik" file.txt $ grep "7..9$" file.txt
(g) Use \ (barra invertida) : Ignora el significado especial del carácter que lo sigue
-
$grep "New\.\[abc\]" file.txt
Especifica el patrón de búsqueda como Nuevo.[abc]
-
$grep "S\.K\.Kumar" file.txt
Especifica el patrón de búsqueda como
S.K.Kumar
(h) Usar * : cero o más ocurrencias del carácter anterior
$ grep "[aA]gg*[ar][ar]wal" file.txt
(i) Use (punto).* : Nada o cualquier cantidad de caracteres.
$ grep "S.*Kumar" file.txt
Este artículo es una contribución de Akshay Rajput . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA