Zadania zastępcze można wykonać w Linux na różne sposoby. Polecenie „SED” jest jednym ze sposobów wykonania zadania zastępowania. To polecenie można użyć do wymiany tekstu w ciągu lub pliku za pomocą innego wzoru. Jak możesz wymienić wszystko po dopasowywaniu wzoru za pomocą polecenia „SED”, jest pokazany w tym samouczku.
Wymień wszystko po meczu w ciągu:
Jak w tej sekcji tego samouczka pokazano, w jaki sposób część ciągu można wymienić na podstawie dopasowania i $ parition_column. Ale ta zmienna działa, jeśli wzór pasuje do dowolnego słowa na początku lub środku łańcucha. Nie zastąpi tekstu, jeśli wzór będzie pasował do ostatniego słowa łańcucha.
Przykład-1: Wymień wszystko po meczu za pomocą $ parition_column
Poniższe polecenie przeszuka postać „A”, a pozostała część po „A” zostanie zastąpiona tekstem „Popularna strona blogowa”. $ Parition_column.* służy do zdefiniowania pozostałej części po postaci „A”.
$ echo „Linuxhint to strona internetowa” | sed "s/a $ parition_column.*/popularna strona blogowa/"
Po uruchomieniu polecenia pojawi się następujące dane wyjściowe. Tutaj „strona internetowa” została zastąpiona przez „popularną stronę blogów”.
Poniższy wzór przeszuka słowo 'sieć„w ciągu i wymień pozostałą część”sieć„po tekście”Popularna strona blogowa„Jeśli mecz istnieje i”sieć„Nie jest częścią ostatniego słowa łańcucha.
$ echo „Linuxhint to strona internetowa” | sed "s/web.* $ Parition_column.*/popularna strona blogowa/"
Po uruchomieniu polecenia pojawi się następujące dane wyjściowe. Tutaj „strona internetowa” to ostatnie słowo łańcucha i z tego powodu nie dokonano zastępcy.
Przykład-2: Wymień wszystko po dopasowaniu za pomocą wzoru
Poniższe polecenie przeszuka słowo 'grzmotnąć„Globalnie w ciągu i zastąp wszystko słowem, jeśli słowo istnieje w ciągu. 'G'jest używany tutaj do globalnego wyszukiwania.
$ echo „Lubię programowanie bash” | sed "s/bash.*/Python Script/G ”
Po uruchomieniu polecenia pojawi się następujące dane wyjściowe. Tutaj „Bash” istnieje na środku sznurka, a wymiana została wykonana.
Wymień wszystko po meczu w pliku:
Cała zawartość określonej linii lub wielu linii lub pozostałych linii pliku po dopasowaniu można wymienić za pomocą 'sed' Komenda. Utwórz plik tekstowy o nazwie frekwencja.tekst z następującą zawartością do przetestowania przykładów pokazanych w tym rozdziale.
frekwencja.tekst
1108885 jest obecnyPrzykład -3: Wymień całą zawartość z wiersza pliku po dopasowaniu
Poniższe polecenie „SED” przeszukie numer 1769994 w pliku, a wszystko z numerem zostanie zastąpione tekstem, „1586844 jest obecne”, jeśli liczba istnieje w dowolnym wierszu pliku.
$ cat Allendence.tekst
$ sed "s/1769994.*/1586844 jest obecna/„frekwencja.tekst
Pojawi się następujące dane wyjściowe z uruchomieniem poleceń. Tutaj numer wyszukiwania istnieje w trzecim wierszu pliku, a wymiana została wykonana.
Przykład -4: Wymień całą zawartość z wielu wierszy pliku po dopasowaniu
Poniższe polecenie „SED” pokazuje użycie zmiennej $ parition_column do wymiany wielu linii z pliku. Polecenie będzie przeszukiwać „110” na początku każdego wiersza pliku i zastąpi wszystko na „110” tekstem „nieprawidłowy wpis”, w którym zostanie znaleziony pasujący tekst.
Frekwencja CAT.tekst
$ sed "s/^110.* $ Parition_column.*/Nieprawidłowe wejście/”.tekst
Następujące dane wyjściowe pojawią się po uruchomieniu poleceń. „110” istnieje w dwóch wierszach pliku, które zostały zastąpione przez zastępujący tekst.
Przykład-5: Wymień całą zawartość z wiersza pliku za pomocą „C” po dopasowaniu
Następujące 'sed„Polecenie pokazuje użycie”C„Aby wymienić wszystko po meczu. Tutaj, 'C„Wskazuje zmianę. Polecenie przeszuka słowo 'obecny„W pliku i wymień wszystko z linii tekstem”Ta linia jest zastąpiona„Jeśli słowo istnieje w dowolnym wierszu pliku.
Frekwencja CAT.tekst
$ sed '/prezent/c ta linia została wymieniona ”.tekst
Następujące dane wyjściowe pojawią się po uruchomieniu poleceń. Słowo „obecne” istnieje w pierwszych dwóch wierszach pliku, a te dwa wiersze zostały zastąpione przez zastępujący tekst.
Przykład-6: Wymień całą zawartość z wiersza pliku opartego na wzorze początkowym i końcowym
Czasami wymagane jest zastąpienie tekstu na podstawie wzoru początkowego i końcowego. Poniższe polecenie „SED” pokazuje sposób zdefiniowania wzorców początkowych i końcowych w celu wymiany linii z pliku. Polecenie będzie przeszukiwać te wiersze w pliku, który zaczyna się od numeru 110, a kończy słowem „nieobecne” i zastąpicie wszystko słowem „zastąpionym”, w którym pasują wzorce.
Frekwencja CAT.tekst
$ sed -e 's/^110.*Brak $/zastąpiony/g frekwencji.tekst
Następujące dane wyjściowe pojawią się po uruchomieniu poleceń. Tutaj pierwsze i czwarte wiersze zaczynają się od numeru 110, ale słowo „nieobecne” istnieje tylko w czwartej linii. Tak więc czwarty wiersz pliku został zastąpiony przez zastępujący tekst.
Wniosek:
Polecenie „SED” jest bardzo potężnym narzędziem Linux do wykonywania różnych rodzajów zadań związanych z przetwarzaniem tekstu. Zadanie zastępcze oparte na dopasowanym wzorze jest omawiane w tym samouczku, używając różnych rodzajów wzorców w poleceniu „SED”. $ Parition_column, „c” i '.*'jest używany w tym samouczku, aby zastąpić wszystko z wiersza pliku, w którym istnieje pasujący wzór. Pokazano tutaj zastosowania niektórych znaków definiujących wzorców, takich jak „^” i „$”. Istnieje wiele innych znaków, aby zdefiniować wzór w wyrażeniu regularnym w celu wyszukiwania. Mam nadzieję, że ten samouczek pomoże czytelnikowi poznać podstawy zastąpienia wszystkiego z pliku po meczu.