Jak użyć polecenia SED, aby wymienić ciąg w pliku

Jak użyć polecenia SED, aby wymienić ciąg w pliku

Pełna forma polecenia „SED” jest edytor strumienia. To polecenie jest bardzo potężnym poleceniem systemu operacyjnego Linux i jest używane do różnych celów. Jednym z powszechnych zastosowań tego polecenia jest znalezienie i zastąpienie jednej lub więcej wartości ciągu pliku. Konkretną zawartość pliku można zastąpić tym poleceniem bez otwierania pliku. Polecenie „SED” obsługuje wyrażenie regularne. Określoną wartość ciągu można przeszukać w pliku na podstawie wyrażenia regularnego zdefiniowanego za pomocą tego polecenia. Różne sposoby wyszukiwania i wymiany określonego ciągu w pliku za pomocą polecenia „SED” są pokazane w tym samouczku.

Składnia:

Składnia polecenia „SED” do wyszukiwania i wymiany ciągu z pliku jest podana w następujący sposób:

SED -i "s/Search/zastępcza„ nazwa pliku


Tutaj opcja „I” służy do zastąpienia zawartości oryginalnego pliku, jeśli znaleziono słowo wyszukiwania. „„S”Polecenie wskazuje substytut wyszukiwania konkretnego ciągu i zastępuje ciąg innej ciągu, jeśli wyszukiwanie istnieje w pliku. Nazwa pliku zawiera nazwę dowolnej nazwy pliku, w której wykonane są wyszukiwanie i wymiana.

Różne przykłady poleceń „SED”

Różne sposoby wyszukiwania i wymiany ciągów w pliku są pokazane w tej części samouczka. Utwórz plik tekstowy o nazwie studenci.TXT według następującej zawartości, w której zadanie wyszukiwania i wymiany są wykonywane za pomocą polecenia „SED”:

studenci.tekst


MD. Hossain: CSE: Batch-50: semestr-10

Nibir Rahman: CSE: Batch-51: semestr 9

Mehnaz Kazi: CSE: Batch-52: Semestr 8

Przykład 1: Wymień wszystkie wystąpienia ciągu bez zmiany pliku

Metoda wymiany określonego ciągu w pliku na podstawie dokładnego dopasowania ciągu wyszukiwania jest pokazana w tym przykładzie.

Uruchom następujące polecenie, aby sprawdzić treść uczniów.plik txt:

$ CAT Studenci.tekst


Uruchom następujące polecenie, aby przeszukać słowo „cse” u uczniów.plik txt i zastąp wszystkie wystąpienia tego ciągu za pomocą „BBA”:

$ SED 'S/CSE/BBA/' Studenci.tekst


Wyjście:

Pojawi się następujące dane wyjściowe po wykonaniu poprzednich poleceń:


Przykład 2: trwale zastępuje wszystkie wystąpienia ciągu w pliku

Metoda trwałego zastąpienia określonego ciągu w pliku opartym na ciągu wyszukiwania jest pokazana w tym przykładzie.

Uruchom następujące polecenie, aby sprawdzić treść uczniów.plik txt:

$ CAT Studenci.tekst


Uruchom następujące polecenie, aby przeszukać słowo „partia” u uczniów.plik txt i zastąp wszystkie wystąpienia tego ciągu w pliku na stałe za pomocą „partii”:

$ sed -i 'S/Batch/Batch/i' Studenci.tekst


Uruchom następujące polecenie, aby sprawdzić zaktualizowaną treść uczniów.plik txt:

$ CAT Studenci.tekst


Wyjście:

Pojawi się następujące dane wyjściowe po wykonaniu poprzednich poleceń:


Przykład 3: Wymień konkretne występowanie ciągu w pliku

Metoda zastąpienia określonego ciągu konkretnego występowania w pliku opartym na dokładnym dopasowaniu ciągu wyszukiwania jest pokazana w tym przykładzie:

Uruchom następujące polecenie, aby sprawdzić treść uczniów.plik txt:

$ CAT Studenci.tekst


Uruchom następujące polecenie, aby przeszukać słowo „0” u uczniów.plik txt i zastąp wszystkie wystąpienia tego ciągu w pliku za pomocą „1”:

Studenci $ s/0/1/'.tekst


Uruchom następujące polecenie, aby przeszukać słowo „0” u uczniów.plik txt i wymień drugie wystąpienie tego ciągu w pliku za pomocą „1”:

Studenci $ SED/0/1/2 '.tekst


Wyjście:

Pojawi się następujące dane wyjściowe po wykonaniu poprzednich poleceń:


Przykład 4: Wydrukuj wymienione linie pliku dwa razy

Metoda wymiany określonego ciągu w pliku na podstawie dokładnego dopasowania ciągu wyszukiwania i drukowania każdego wymienionego wiersza dwa razy pokazano w tym przykładzie.

Uruchom następujące polecenie, aby sprawdzić treść uczniów.plik txt:

$ CAT Studenci.tekst


Uruchom następujące polecenie, aby przeszukać słowo „partia” u uczniów.plik txt i zastąp wszystkie wystąpienia tego ciągu w pliku za pomocą „partii” i wydrukuj wymienione wiersze dwa razy:

Studenci $ SED/Batch/Batch/P '.tekst


Wyjście:

Pojawi się następujące dane wyjściowe po wykonaniu poprzednich poleceń:


Przykład 5: Wymień ciąg określonego wiersza pliku

Metoda zastąpienia określonego ciągu określonego wiersza w pliku opartym na ciągu wyszukiwania jest pokazana w tym przykładzie.

Uruchom następujące polecenie, aby sprawdzić treść uczniów.plik txt:

$ CAT Studenci.tekst


Uruchom następujące polecenie, aby przeszukać słowo „partia” u uczniów.plik txt i zastąp występowanie tego ciągu w drugim wierszu pliku za pomocą „Batch”:

$ SED '2 S/Batch/Batch/i' Studenci.tekst


Wyjście:

Pojawi się następujące dane wyjściowe po wykonaniu poprzednich poleceń:


Przykład 6: Wymień ciąg określonego zakresu linii pliku

Metoda wymiany określonego ciągu w określonym zakresie wierszy pliku na podstawie ciągu wyszukiwania jest pokazana w tym przykładzie.

Uruchom następujące polecenie, aby sprawdzić treść uczniów.plik txt:

$ CAT Studenci.tekst


Uruchom następujące polecenie, aby przeszukać słowo „partia” u uczniów.plik txt i wymień występowanie tego ciągu od pierwszego do drugiego wiersza pliku za pomocą „partii”:

$ SED '1,2 S/Batch/Batch/' Studenci.tekst


Wyjście:

Pojawi się następujące dane wyjściowe po wykonaniu poprzednich poleceń:

Wniosek

Polecenie „SED” jest bardzo przydatnym poleceniem Linuksa do wykonywania zadania wyszukiwania i wymiany. Ułatwia to zastąpienie zawartości pliku za pomocą różnych wzorów wyszukiwania. Zastosowania polecenia „SED” do zastąpienia zawartości pliku na podstawie dokładnego dopasowania, liczby wystąpień wyszukiwania lub liczby linii są tutaj pokazane przez wiele przykładów. Mamy nadzieję, że użytkownicy Linux mogą użyć polecenia „SED”, aby wymienić zawartość pliku po prawidłowym przeczytaniu tego samouczka.