Ciao sto cercando un awk che può trovare due pattern e stampare i dati tra di loro a un file solo se nel mezzo c'è un terzo pattern nel mezzo. per esempio:Awk tra due pattern con pattern nel mezzo
Start
1
2
middle
3
End
Start
1
2
End
And the output will be:
Start
1
2
middle
3
End
ho trovato nel web awk '/ patterns1 /,/Pattern2 /' percorso> text.txt ma ho bisogno solo di uscita con la terza modelli nel mezzo.
Adatta, ma fattibile. Avrai bisogno di salvare il materiale tra Inizio e Fine, e quando incontri Medio, nota che il materiale salvato deve essere stampato, e mentre elabori Fine, controlla se il materiale salvato deve essere stampato. Non ho il tempo di ridurlo al codice ora. (Salva ogni '$ 0' in un array dopo aver riconosciuto Start, interrompi il salvataggio in Fine, stampando l'array se appropriato e cancellando l'array a prescindere.) –
Inoltre, possono esserci righe di dati non tra Inizio e Fine? Oppure è sempre una sequenza di linee Start..End, ma solo alcune devono essere stampate. –
può essere vuoto, ma ne esiste solo uno con schema centrale –