Please help me in using sed. Ho un file come di seguito.Sed per estrarre il testo tra due stringhe
START=A
xxxxx
xxxxx
END
START=A
xxxxx
xxxxx
END
START=A
xxxxx
xxxxx
END
START=B
xxxxx
xxxxx
END
START=A
xxxxx
xxxxx
END
START=C
xxxxx
xxxxx
END
START=A
xxxxx
xxxxx
END
START=D
xxxxx
xxxxx
END
Voglio ottenere il testo tra START = A, END. Ho usato la query seguente.
sed '/^START=A/,/^END/!d' input_file
Il problema qui è, sto ottenendo
START=A
xxxxx
xxxxx
END
START=D
xxxxx
xxxxx
END
invece di
START=A
xxxxx
xxxxx
END
Sed trova avidamente.
Please help me in resolvng this.
Grazie in anticipo.
Posso utilizzare AWK per ottenere quanto sopra?
Grazie per la risposta. Ho bisogno di un testo tra START = A e il prossimo END, quello sopra fornisce dati tra START = A e l'ultima END. Spero che tu abbia il mio problema. – ranganath111
No, non è così. Sia gli script 'awk' che' sed' - almeno sulla mia macchina con la mia copia del file di dati che hai fornito - stampano 5 blocchi di dati tra 'START = A' e' END', ei blocchi con 'START = B' per 'END',' START = C' per 'END' e' START = D' per 'END' sono tutti omessi dall'output. Su quale piattaforma stai testando? Quale versione di 'sed' stai usando? Quale versione di 'awk' stai usando? (Prendo atto che i dati del test ripetono testualmente i blocchi tra 'START = A' e' END'. Sarebbe molto meglio se ci fossero linee diverse tra loro in modo da poter vedere quali linee vengono stampate.) –
Quando provo questo , i punti di inizio e fine sono inclusi nell'output, mentre ho avuto l'impressione che l'OP volesse solo i dati TRA loro. –