Próbuję przeanalizować dane wyjściowe polecenia, które oczekuje na zapis na ekranie. Ma dane oddzielone sekwencjami kontrolnymi przejścia do źródła (dla VT220, ESC[1;1H). Potrzebuję tylko ostatniej części (tj. Po ostatnim przejściu do źródła).
Próbowałem robić to na wiele sposobów (głównie awk i sed), ale problem zawsze polega na tym, że części sekwencji kontrolnej mają specjalne znaczenie (dla programu, a nie tylko dla powłoki) i nie mogę ich zacytować, gdy zastępuję wyjście tput .
Jakieś sugestie?
EDYTOWAĆ:
Oto przykład tego, co chcę przeanalizować ( ESCjest to znak ucieczki):
Page 1; line 1
Page 1; line 2
ESC[1;1HPage 2; line 1
Page 2; line 2
ESC[1;1HPage 3; line 1
Page 3; line 2
Chcę uzyskać następujące informacje, które byłyby na terminalu po uruchomieniu programu.
Page 3; line 1
Page 3; line 2
Odpowiedzi:
najłatwiejszy sposób poradzenia sobie z problemem:
Alternatywnie użyj: bbe - podobny do sed edytor plików binarnych
jeśli potrzebujesz bardziej szczegółowej odpowiedzi, potrzebuję bardziej szczegółowej próbki programu
źródło