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.