regex - solo - sed linux
cómo usar grep para que coincida con el espacio en blanco o la línea nueva (3)
Quiero grep un archivo con una palabra, decir "AAA", y termina con espacios en blanco o nuevas líneas. Sé cómo escribir esto por separado, de la siguiente manera, pero tengo problemas para combinarlos (en el sentido de que produce tanto VVV AAA
como AAA VVV
).
$echo -e "AAA VVV /nVVV AAA/nBBB" | grep "AAA$"
>VVV AAA
$echo -e "AAA VVV /nVVV AAA/nBBB" | grep "AAA[[:space:]]"
>AAA VVV
He intentado usar []
, pero sin éxito.
Si busca la palabra AAA
seguida del espacio en cualquier lugar de la cadena, o al final de la línea, utilice
grep -P "AAA( |$)"
Use "AAA/b"
si es aceptable que también coincida con AAA seguido de cualquier otro carácter no alfanumérico. De acuerdo con las páginas del manual grep , /b
coincide con la cadena vacía al borde de una palabra.
$ echo -e "AAA VVV /nVVV AAA/nBBB" | grep "AAA/b"
AAA VVV
VVV AAA
Puede usar la opción -e
de grep para seleccionar muchos patrones:
grep -e "AAA$" -e "AAA[[:space:]]"
Del hombre grep:
-e PATTERN, --regexp=PATTERN
Use PATTERN as the pattern. This can be used to specify
multiple search patterns, or to protect a pattern beginning with
a hyphen (-). (-e is specified by POSIX.)