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.)