Mając na uwadze znaczenie dowództwa SED; Nasz dzisiejszy przewodnik zbada kilka sposobów usunięcia znaków specjalnych za pomocą polecenia SED w Ubuntu.
Składnia polecenia SED jest napisane poniżej:
Składnia
Polecenie SED [opcje] [Nazwa pliku]
Znaki specjalne mogą czasem być potrzebą treści zapisanej w pliku tekstowym, ale jeśli są one używane niepotrzebnie, sprawi, że plik będą nieuporządkowane i istnieje szansa, że czytelnik może nie zwracać uwagi.
Jak używać SED do usuwania znaków specjalnych w Ubuntu
W tej sekcji krótko opisuje sposoby usuwania znaków specjalnych z pliku tekstowego za pomocą SED; Zależy to od liczby znaków w pliku, które chcesz usunąć; Można istnieć dwie możliwości podczas usuwania znaków z pliku, albo chcesz usunąć jeden znak specjalny, albo chcesz usunąć wiele znaków jednocześnie. Z tych możliwości wskazanych powyżej rozszerzyliśmy tę sekcję na dwie metody, które dotyczą obu możliwości:
Metoda 1: Jak usunąć pojedynczy znak za pomocą SED
Metoda 2: Jak usunąć wiele znaków jednocześnie za pomocą SED
Pierwsza metoda dotyczy pierwszej możliwości, a druga możliwość zostanie omówiona w Method 2, zagłębiajmy się w nie jeden po drugim:
Metoda 1: Jak usunąć pojedynczy charakter specjalny za pomocą SED
Utworzyliśmy plik tekstowy „Ch.tekst”, Który zawiera kilka znaków specjalnych na różnych liniach; Treść wewnątrz pliku jest wyświetlana poniżej:
$ cat ch.tekst
Możesz zauważyć, że treść w środku „Ch.tekst„Jest trudny do odczytania; Na przykład chcemy usunąć znak „#” z pliku tekstowego; W tym celu musimy użyć następującego polecenia, aby usunąć „#” z całego dokumentu:
$ s s/\#// g 'ch.tekst
Ponadto, jeśli chcesz usunąć charakter specjalny z określonej linii; W tym celu musisz wstawić numer linii obok słowa kluczowego „S”, ponieważ poniższe wspomniane polecenie usunie „#” tylko z wiersza 3:
$ sed '3s/\#// g' ch.tekst
Metoda 2: Jak usunąć wiele znaków jednocześnie za pomocą SED
Teraz mamy inny plik ”plik.tekst”, Który zawiera więcej niż jeden typ postaci i chcemy je usunąć za jednym razem. W tej metodzie składnia jest nieco zmieniona z wyżej polecenia; Na przykład musimy usunąć pięć znaków „#$%*@" z "plik.tekst”;
Po pierwsze, spójrz na treść „plik.tekst„Ponieważ słowa są przerywane przez te postacie;
plik $ cat.tekst
Polecenie podane poniżej pomoże usunąć wszystkie te znaki specjalne z „plik.tekst”:
$ sed 's/[#$%*@] // g'.tekst
Tutaj możemy narysować inny przykład, powiedzmy, że chcemy usunąć tylko kilka znaków z określonych linii.
Utworzyliśmy nowy plik i treść „nowy plik.tekst”Pokazano poniżej:
$ cat Newfile.tekst
W tym celu napisaliśmy polecenie, które usunie „#@" I "%*”Z linii 2 i 3„ ”nowy plik.tekstOdpowiednio.
$ sed '2s/[#@] // g; 3s/[%*] // g 'Newfile.tekst
Polecenie SED użyte w powyższych metodach wyświetli wynik tylko na terminalu, zamiast stosować zmiany w pliku tekstowym: do tego musimy użyć opcji „-i” polecenia SED. Można go używać z dowolnym poleceniem SED, a zmiany zostaną wprowadzone do pliku zamiast drukowania na terminalu.
Wniosek
Najwyraźniej polecenie SED działa jako zwykły edytor tekstu, ale ma znacznie bardziej obszerną listę działań w porównaniu z innymi redaktorami. Musisz po prostu napisać polecenie, a zmiany zostaną wprowadzone automatycznie; Ta funkcja przyciąga entuzjastów Linuksa lub użytkowników, którzy wolą terminal niż GUI. Przestrzeganie korzystnych funkcjonalności SED; Nasz przewodnik koncentruje się na usuwaniu znaków specjalnych z pliku tekstowego. Jeśli porównamy tylko tę funkcję polecenia SED z innymi redaktorami, musisz wyszukać znaki w całym pliku, a następnie usunąć je jeden po drugim. Z drugiej strony SED wykonuje tę samą akcję, pisząc polecenie jednego wiersza na terminalu.