Zadanie Bash sed

Alicja M
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
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 ?

szweszwe
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1694
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.

Alicja M
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

screenshot-20210327235249.png

szweszwe
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1694
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.