Mam plik zawierający dane, w tym adresy URL. Ale są różne linie, które nie są adresami URL. Jak mogę je usunąć za pomocą poleceń terminalowych Ubuntu?
Oto przykładowy plik w celach informacyjnych: Przykładowe dane
com.blendtuts/S
°=
com.blengineering.www/:http
±=
Chcę mieć wynik:
com.blendtuts/S
com.blengineering.www/:http
Dodatkowe niechciane linie nie mają kropki. Dlatego chcę usunąć linie bez kropek
źródło
awk '/\./' file
- to znaczy, aby wypisać tylko linie zawierające znak „.”.grep
sugeruje już odpowiedź , wolałem iść z pewnymiawk
specyficznymi rzeczami :)Korzystanie z perla:
źródło
Możesz to zrobić dość łatwo za pomocą vima. Jeśli nie masz ochoty używać vima jako edytora tekstu (otwieranie, edytowanie i pisanie plików), wykonaj następujące czynności:
Jeśli nie masz doświadczenia w korzystaniu z vima lub wolisz używać go jako narzędzia wiersza poleceń, możesz po prostu zrobić to z poziomu terminala:
Możesz to nieco zmodyfikować, aby zapisać w nowym pliku:
Wykorzystuje to polecenie globalne vima, które stosuje polecenie ex do każdej linii pasującej (lub niepasującej) wyrażenia regularnego. W takim przypadku polecenie to „(d) elete” i zostanie zastosowane do każdego polecenia niezgodnego z wyrażeniem regularnym
\.
źródło