Jak używać SED do edytowania pliku na miejscu

Jak używać SED do edytowania pliku na miejscu

Linux obsługuje różne rodzaje narzędzi linii poleceń w celu automatyzacji zadań, co czyni Linux w wiodącym linii systemu operacyjnego; Ze względu na swoje znaczenie i wykorzystanie ma setki rozkładów opartych na Linuksie i obsługują wiele poleceń do automatycznego wykonywania działań.

Istnieje ogromna pula poleceń dla Ubuntu i SED narzędzia dowodzenia jest jednym z nich; Polecenie SED może być używane do wykonywania podstawowych operacji w plikach tekstowych, takich jak edycja, usuwanie tekstu w pliku.

Oprócz tych podstawowych działań SED zapewnia długą listę obsługiwanych opcji, które można użyć do manipulowania wyjściem zgodnie z wymaganiami użytkownika, zainspirowani przez to; Opracowaliśmy przewodnik, który zademonstruje zmiany w oryginalnym pliku za pomocą polecenia SED:

Jak edytować plik na miejscu za pomocą polecenia SED

Ta opcja polecenia SED jest używana do edytowania pliku i zapisywania zmian w oryginalnym i może być używana ze wszystkimi operacjami polecenia SED:

Składnia tej opcji opisano poniżej:

Składnia

polecenie sed -i [nazwa pliku]

Lub

Polecenie sed-in-in-miejsce [nazwa pliku]

W podanej powyżej składni opcja „-i” jest stała (gdy dokonujesz zmian plików), a słowo kluczowe „polecenie” zawiera operacje (podstawienie, usunięcie, dołączanie) wykonywane za pomocą polecenia SED; I na koniec „nazwa pliku” kieruje nazwą pliku, w którym podejmowane są wszystkie działania powiązane z poleceniem SED.

Wzięliśmy plik tekstowy, który zawiera kilka linii tekstowych:

Wyodrębnijmy treść „Examp.tekst”Plik za pomocą polecenia wspomnianego poniżej:

$ cat Examp.tekst

Zacznijmy od podstawowego użycia, że ​​jeśli używamy SED bez „-I„Opcja wówczas wydrukowałaby wynik na terminalu, a oryginalny plik pozostanie niezmieniony (jak sprawdzono za pomocą polecenia„ CAT ”), jak pokazano poniżej:

Różnica między edycją pliku na miejscu a edycją pliku polecenia SED

W poniższym dowództwie; "S”Jest używany do zastąpienia i zastąpi słowo„Debian" z "Ubuntu". Ponadto list „G„Na końcu tego polecenia dotyczy globalnej akcji, oznacza, że ​​wymiana zostanie wykonana w całym pliku:

$ sed 's/debian/ubuntu/g' examp.tekst

A teraz użyj tego samego polecenia z „-I„Opcja podana poniżej; zauważa się, że za pomocą „-I„Treść wewnątrz oryginalnego pliku (”Examp.tekst”) Jest również zmieniane teraz, jak pokazano poniżej:

Notatka: Możesz użyć "-w miejscu" zamiast "-I”; Obie opcje mają tę samą funkcjonalność:

$ sed -i 's/debian/ubuntu/g' examp.tekst

Jak edytować określony wiersz pliku na miejscu za pomocą polecenia SED

A jeśli chcesz zmienić zawartość dowolnego określonego numeru linii, możesz dodać wartość liczbową z literą „S”; Na przykład, podane poniżej polecenie zastąpi „Ubuntu” na „Debian” tylko w linii „2”, a po określeniu numeru linii cel „g” litery „g” jest unieważniony, abyś mógł go również usunąć:

$ sed -i '2s/ubuntu/debian/' examp.tekst

Ponadto możesz umieścić „$”Podpis z„S”Słowo kluczowe do wykonania tylko zmian w ostatnim wierszu pliku; Jak napisane poniżej polecenie poda słowo „Ubuntu" zamiast "Linux-Mint”Na ostatniej linii„Examp.tekst”:

$ sed -i '$ s/ubuntu/linux -mint/' examp.tekst

Jak usunąć linię w pliku za pomocą miejsca polecenia SED

Opcja na miejscu ma szerokie użycie w poleceniu SED, jak omówiono powyżej; Oprócz wymiany słów w wierszu można usunąć całą linię i zapisać wyjście w pliku nadrzędnym za pomocą „-I„Opcja: Polecenie wspomniane poniżej usunie numer wiersza„2”Pliku„ Examp.tekst":

$ sed -i '2d' examp.tekst

A jeśli chcesz usunąć linie oprócz numeru linii ”2”Następnie musisz napisać polecenie, jak wspomniano poniżej:

$ sed -i '2!d 'examp.tekst

Wniosek

Ubuntu obsługuje różnorodne polecenia, których można użyć do wykonywania podstawowych operacji w plikach tekstowych, takich jak głowica, lub polecenia ogona mogą być używane do drukowania linii dostępnych na początku lub na końcu pliku tekstowego. Istnieją jednak pewne ograniczenia, powiedzmy, że nie możesz wydrukować tylko wiersza numer 2 pliku tekstowego za pomocą polecenia głównego (chociaż wiersz numer 2 jest dostępny w sekcji pliku). Polecenie SED prowadzi inne polecenia w tym zakresie; To polecenie w Ubuntu pomaga wykonywać podstawowe operacje w plikach tekstowych, takich jak podstawienie, dodanie, usunięcie itp. Obserwuje się, że jeśli używane jest polecenie SED, z wyjątkiem opcji „-i”, wynik byłby wydrukowany tylko na terminalu. W tym artykule opcja polecenia SED jest szczegółowo opisana i może być przyjęta ze wszystkimi operacjami SED. Aby uzyskać głęboki wgląd w tę opcję, próbowaliśmy go użyć z tyloma poleceniami, aby zbudować podstawy dla początkujących użytkowników.