Estoy enfrentando un problema con los correos. Necesito recibir todos los mensajes entre 2 personas:
[email protected]y [email protected].
El file:
From: [email protected]
to: [email protected]
<body of the message1>
From: [email protected]
to: [email protected]
<body of the message1>
From: [email protected]
to: [email protected]
<body of the message1>
From: [email protected]
to: [email protected]
<body of the message1>
From: [email protected]
to: [email protected]
<body of the message1>
Traté de usar lo siguiente sed:
sed -n "/From: [Ss]omebody1/,/From: /p" inputfile > test.txt
Como resultado, recibí todos los correos de alguien1 para test.txtarchivar.
La pregunta es: ¿Cuál debería ser la estructura sedpara obtener solo correos entre alguien1 y una persona?

p;. Solo para evitar una lista de coincidencias aisladas queFrom: [email protected]no sean seguidas por la coincidencia en segunda persona y el bloque de la carta.From: [email protected]... Debe seleccionar una clave única diferente que no encontrará nuevamente en el cuerpo de su mensaje. Será lo mismo con laawkrespuesta. Pruébalo también.Con awk:
/From: [Ss]omebody1/{flag=1;next} \Ponga una variable de bandera a 1 en el partido y omita la línea./to\: person1/Si la bandera es 1, actualícela a 2, restablezca a 0./From/{flag=0}En el partido, restablece el valor de la bandera.{if (flag==2){print NR, $0}}Si la bandera es 2, imprimirá el número de lino y la línea.Cambie el valor de
person1tener diferentes coincidencias.Archivo de entrada utilizado
fuente