Użyłem CentOS 8 do celów demonstracyjnych.
Usuń puste linie za pomocą polecenia grep
Grep jest jednym z najpotężniejszych i najbardziej wszechstronnych narzędzi, które mogą pomóc w usunięciu niechcianych pustych linii w plikach tekstowych. Zwykle polecenie służy do sondowania ciągów lub wzorów znaków w pliku tekstowym, ale jak wkrótce zobaczysz, może również pomóc w pozbyciu się niechcianych pustych wierszy
W przypadku używania z -v opcja, polecenie grep pomaga usunąć puste linie. Poniżej znajduje się przykładowy plik tekstowy, próba.tekst, z alternatywnymi niepustymi i pustymi liniami.
Aby usunąć lub usunąć wszystkie puste wiersze w przykładowym pliku tekstowym, użyj polecenia grep, jak pokazano.
$ grep -v '^[[:space:]]*$' próbka.tekst
Dodatkowo możesz użyć następującej składni.
$ grep -v '^$' próbka.tekstCo więcej, możesz na przykład zapisać lub przekierować dane wyjściowe do innego pliku, używając operatora większego niż ( > ).
$ grep -v '^$' próbka.txt > wyjście.tekst
Usuń puste linie za pomocą polecenia sed
Skrócone jako edytor strumieni, polecenie sed w systemie Linux jest popularnym narzędziem, które wykonuje szeroki wachlarz funkcji, w tym zastępowanie i podstawianie ciągów w pliku.
Co więcej, możesz również użyć sed do usunięcia pustych linii z pliku, jak pokazano poniżej.
$ sed '/^$/d' próbka.tekst
Usuń puste wiersze za pomocą polecenia awk
Na koniec mamy polecenie awk. Jest to kolejne narzędzie wiersza poleceń do manipulacji tet, które może również pozbyć się pustych linii. Aby usunąć pusty plik za pomocą awk, wywołaj poniższe polecenie.
$ awk 'if(NF>0) print $0' próbka.tekst
Wniosek
Podaliśmy 3 sposoby, które mogą być przydatne w usuwaniu pustych linii w plikach tekstowych. Wszelkie inne pomysły na usunięcie niechcianych pustych linii? Zapraszamy do kontaktu w sekcji komentarzy in.