Wojciech Giel pisze:
ed -e 's/^S.*>\ //g' plik > plik2
wzór wg ktorego sed wyszukuje sklada sie z ciagu znakow: "^S.*\ "
^oznacza początek lini po którym następuje S(nie musi tu być. bez S tez
działa) nastepnie mamy kropkę która zastepuje dowolny znak. Gwiazdka mówi że
poprzedający ją znak może wystąpić zero bądź więcej razy. > (też można
opuścić jest tutaj zbedny). backslash przed spacją powoduje że to puste
miejsce jest rozpoznawane jako spacja a nie jakiś inny znak.
tak w sumie mozna zredukować do ".*\ " jeżeli masz z całym pliku takie same
zdania jak pokazałeś.
ed -e 's/.*\ //g' plik > plik2
Witaj Wojtku,
Siedziałem i rozkminiałem ale w końcu po tym co napisałeś i jak
doczytałem co robi dokładnie "." wymyśliłem czemu mój pierwszy sposób
nie działał..teraz nawet ośmielę się (wiem, że to wynika tylko z tego że
nie podałem całego pliku który miałem do obróbki) że drugi sposób podany
przez ciebie
ed -e 's/.*\ //g' plik > plik2
nie zadziałał by w moim przypadku tak jak potrzebowałem.
W obrabianym pliku było tak, że spacja jako znak rozdzielający dwie
części podobnie wyglądających ścieżek, występowała dosłownie w kilku
linijkach także po "->" i wtedy sed wyciął by mi więcej niż
potrzebowałem... :)
dziękuję za pomoc i za zmuszenie do pomyślenia
Pozdrawiam
Maciej Kóska
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]