Polecenie SED do usuwania linii w pliku
- 2301
- 726
- Igor Madej
W większości przypadków, gdy pracujesz z plikiem tekstowym, prawdopodobnie będzie miała puste przestrzenie. Te puste przestrzenie mogą wahać się od kilku znaków do wielu linii, które są puste lub nie mają informacji. Trzymanie takich plików z niepotrzebnymi przestrzeniami może być czasochłonne i niewygodne. Może być kilka powodów, dla których przechowywaj te pliki, ale najlepszym sposobem ich obsługi jest usunięcie pustych linii. W tym artykule eksploruje polecenie UNIX SED i jego użycie w usuwaniu pustych wierszy w pliku.
Co jest sed?
SED oznacza edytora strumienia. Jest to nieinteraktywny edytor wiersza poleceń. Służy przede wszystkim do edytowania i filtrowania plików. SED jest najczęściej używany w skryptach, gdzie jest używany do sekwencyjnej edytowania pojedynczego pliku lub wielu plików. SED można użyć do wykonania sekwencji edycji akcji na jednym pliku lub grupie plików. Można go używać do usuwania linii i słów w pliku, zastępowania słów, a nawet dodawania tekstu w określonych lokalizacjach w pliku.
W tym samouczku dowiesz się o komendzie Linux SED, aby usunąć wiersze z pliku opartego na argumentach. Pamiętaj, że domyślne polecenie nie wprowadza żadnych zmian w oryginalnym pliku. Jeśli chcesz usunąć pliki w tym samym pliku, użyj opcji „-i” z poleceniami.
1. Usuń pierwszy wiersz z pliku
Możesz użyć „1d” opcja usuwania pierwszego wiersza z pliku. Na przykład masz plik CSV i chcesz usunąć linię tytułową. Użyj następującego polecenia, aby usunąć pierwszy wiersz SED.
SED „1D” nazwa_pliku
Tutaj „1” reprezentują pierwszą linię i 'D' służy do usuwania. Więc łączenie „1d” Usuwa pierwszy wiersz z pliku. Zobacz poniższy przykład:
Przykład polecenia SED, aby usunąć pierwszy wiersz z plikuMożesz zobaczyć, że „sed”
Polecenie usunęło pierwszy wiersz z wyjścia.
2. Usuń ostatni wiersz z pliku
Użyj parametru zastawu „$ d” z sed, aby usunąć ostatnią linię lub linię stopki z grzywny. Poniższe polecenie usunie ostatni wiersz z nazwy pliku.plik CSV.
SED „$ d 'plik_name
W powyższym poleceniu „$”
reprezentują ostatni wiersz pliku i 'D'
to usunąć tę linię.
3. Usuń określoną linię według liczby
Możesz określić numer linii, a następnie 'D'
Aby usunąć tę konkretną linię. Na przykład, aby usunąć 5. plik z pliku, wykonaj:
SED „5D” nazwa_pliku.CSV
4. Usuń zakres linii
SED pozwala również usunąć zakres linii z pliku. Możemy określić linię początkową i numer linii końcowej z oddzielonym poleceniem. Zobaczmy poniższy przykład:
SED „2,5D” nazwa_pliku
Powyższe polecenie usunie numer wiersza z 2 do 5 z danego pliku.
5. Usuń linie inne niż pierwsza linia
Użyj negacji (!) Operator z opcją D w poleceniu SED. Następujące polecenie SED usuwa wszystkie wiersze oprócz linii nagłówka.
sed '1!d 'nazwa_pliku
6. Usuń linie inne niż ostatnia linia
Użyj negacji (!) Operator z opcją D w poleceniu SED. Następujące polecenie SED usuwa wszystkie wiersze oprócz linii nagłówka.
sed '$!d 'nazwa_pliku
7. Usuń linie inne niż określony zakres
Użyj negacji (!) Operator z opcją D w poleceniu SED. Następujące polecenie SED usuwa wszystkie wiersze oprócz linii nagłówka.
sed '2,5!d 'nazwa_pliku
8. Usuń pierwszą i ostatnią linię
sed '1d; $ d' plik_name
9. Usuń puste linie lub puste linie
Polecenie SED można użyć do usuwania pustych wierszy w pliku tekstowym. Aby to zrobić, możesz użyć następującego polecenia:
sed '/^$/d' plik_name
Powyższe polecenie usuwa wszystkie puste wiersze z określonego pliku. Każda linia zawiera pojedynczą przestrzeń nie jest uważana za pojedynczą linię.
10. Usuń linie, które zaczynają się od określonego znaku
liczby sed '/^t/d'.CSV
11. Usuń linie kończące się na określonym znaku
liczby sed '/t $/d'.CSV
12. Usuń linie zawierające wzór
liczby sed '/wzór/d'.CSV
Wniosek
Zawsze istnieje potrzeba czyszczenia plików tekstowych przed dalszym przetwarzaniem, ponieważ mogą mieć niechciane znaki, takie jak Tab, Newline, Space itp. SED oferuje wiele sposobów usuwania linii, słów, a nawet znaków z pliku. Wystarczy umieścić żądaną operację w wierszu polecenia, a skończyłeś!
- « Jak wydrukować listę bez nawiasów w Python
- Polecenie rsync w celu wykluczenia plików i katalogów Ultimate Guide »