Zadanie Bash sed

0

Mam zadanie o treśći:
Przygotuj wyrażenie regularne sprawdzające e-mail i zastosuj je do wykasowania
wszystkich adresów e-mail w podanym pliku.

Stworzyłam plik regexp2.txt w którym dałam przykładowe adresy e-mail
Potem plik ze skryptem:
sed -n '/[[:alnum:]][@]\{1\}[[:alpha:]].*[[:alpha:]]$/ d' regexp2.txt

Po uruchomieniu skryptu pokazuje się
bash: ./: Is a directory
Pracuję na VirtualBoxie na Ubuntu
W pliku tekstowym nie znikają poprawne adresy
co robię nie tak ?

0

Jak to uruchamiasz? Wygląda na to, że w ogóle nie uruchamiasz skryptu w którym masz seda.
Jeżeli nie uruchomisz to nie dziwne, że nic z pliku tekstowego nie zostaje usunięte.
Druga rzecz to sam skrypt. Odpal go normalnie w terminalu, żeby mieć pewność że się faktycznie uruchomił i sprawdź czy działa tak jak należy. Wg mnie nie działa.

0

screenshot-20210327235249.png

0

Ciężko się dogadać bo coś zmieniasz, nie piszesz co. Nie wiadomo jaki jest rezultat tych zmian, bo wygląda na to, że jednak się poprawiło.
Ja bym spróbował umieścić w pliku który uruchamiasz coś takiego:
sed -i -e '/[[:alnum:]][@]\{1\}[[:alpha:]].*[[:alpha:]]$/ d' regexp2.txt
Po odpaleniu tego powinny zostać linie gdzie nie ma adresu email.

1 użytkowników online, w tym zalogowanych: 0, gości: 1