Cześć Szukam awk, który może znaleźć dwa wzory i wydrukować dane między nimi do plik tylko wtedy, gdy w środku znajduje się trzeci wzór w środku. na przykład:Awk między dwoma wzorami ze wzorem w środku
Start
1
2
middle
3
End
Start
1
2
End
And the output will be:
Start
1
2
middle
3
End
znalazłem w sieci awk/patterns1 /,/patterns2/'path> text.txt ale muszę tylko wyjście z wzorców trzecich w środku.
Fiddly, ale wykonalne. Będziesz musiał zapisać materiał pomiędzy początkiem i końcem, a kiedy natkniesz się na Środek, zwróć uwagę, że zapisany materiał powinien zostać wydrukowany, a podczas przetwarzania Koniec sprawdź, czy zapisany materiał powinien zostać wydrukowany. Nie mam czasu, aby to zmniejszyć, by teraz kodować. (Zapisz każde '0 $' w tablicy po rozpoznaniu polecenia Start, zatrzymaj zapisywanie na Koniec, wydrukuj tablicę, jeśli jest to konieczne, i usuń tablicę bez względu na to). –
Czy też mogą istnieć dowolne linie danych nie pomiędzy początkiem i końcem? Czy jest to zawsze ciąg linii Start..End, ale tylko niektóre z nich muszą zostać wydrukowane. –
może być pusty, ale jest tylko pusty o środkowym wzorze –