Używam sed do filtrowania listy plików. Mam posortowaną listę folderów i chcę uzyskać wszystkie wiersze po określonej. Aby wykonać to zadanie, używam rozwiązania opisanego jako here, które działa całkiem dobrze z każdym wprowadzonym przeze mnie wejściem, ale nie działa, gdy mecz jest w pierwszym wierszu. W takim przypadku sed usunie wszystkie linie wejściaUsuń wszystkie linie przed meczem z sed
Tutaj przykład:
(ssh) [email protected] : ~
[0] % ls -1/
bin
boot
...
sys
tmp
usr
var
vmlinuz
(ssh) [email protected] : ~
[0] % ls -1/| sed '1,/tmp/d'
usr
var
vmlinuz
(ssh) [email protected] : ~
[0] % ls -1/| sed '1,/^bin$/d'
# sed will delete all lines from the input stream
Jak należy zmienić polecenie, aby rozważyć również przypadek krańcowy gdy pierwsza linia pasuje do regexp?
BTW sed '1,1d'
działa prawidłowo i usuwa tylko pierwszy wiersz.
Dziękuję za komentarz. Poprawiono i dodano kilka innych rozwiązań. – jm666