solomon segun psicologia michael kotler gratis edicion consumidor comportamiento capitulo autores bash grep

bash - segun - comportamiento del consumidor solomon capitulo 2



Imprimir todo en línea después de la coincidencia (4)

Con GNU grep , intente -B0 -A999999999 o similar. Una mejor opción podría ser awk :

awk ''/target_string/ {seen = 1} seen {print}''

Si (la especificación de su problema no está clara) no necesita imprimir la línea correspondiente, sed es aún más corto:

sed ''1,/target_string/d''

Esta pregunta ya tiene una respuesta aquí:

Tengo un archivo de texto grande que contiene una cadena única en el medio. Lo que quiero hacer es imprimir todo DESPUÉS de la cadena usando grep.

cat textfile | grep "target_string" This highlights target_string but prints the whole file cat textfile | grep -o "target_string" This prints only target_string cat textfile | grep -o "target_string*" This prints only target_string

¿Cómo puedo imprimir todo después de target_string y nada antes?


Curiosamente, la respuesta aceptada imprimió toda la línea, donde solo quería toda la información después de la cadena de destino. Esto funcionó para mí:

sed -n ''s/target_string//p'' filename

Adaptado de esta publicación.


Esto imprimirá todo después de cada coincidencia, solo en esa misma línea:

perl -lne ''print $1 if /target_string(.*)/'' textfile

Esto hará lo mismo, excepto que también imprimirá todas las líneas siguientes:

perl -lne ''if ($found){print} else{if (/target_string(.*)/){print $1; $found++}}'' textfile


Olvidaste el ''.'':

cat textfile | grep -o "target_string.*"