Digamos que tengo un archivo:
# file: 'test.txt'
foobar bash 1
bash
foobar happy
foobar
Solo quiero saber qué palabras aparecen después de "foobar", para poder usar esta expresión regular:
"foobar \(\w\+\)"
El paréntesis indica que tengo un interés especial en la palabra justo después de foobar. Pero cuando hago un grep "foobar \(\w\+\)" test.txt
, obtengo las líneas completas que coinciden con la expresión regular completa, en lugar de solo "la palabra después de foobar":
foobar bash 1
foobar happy
Preferiría mucho que la salida de ese comando se viera así:
bash
happy
¿Hay alguna manera de decirle a grep que solo muestre los elementos que coinciden con la agrupación (o una agrupación específica) en una expresión regular?
perl -lne 'print $1 if /foobar (\w+)/' < test.txt