Edycja plików tekstowych i danych wyjściowych terminala to codzienna praca dla tych, którzy administrują maszynami z systemem Linux. Narzędzia wiersza poleceń, takie jak sed, pozwalają użytkownikowi modyfikować i zmieniać zawartość pliku tekstowego bezpośrednio z okna terminala.

W tym artykule szczegółowo omówimy polecenie sed, wraz z kilkoma podstawowymi przykładami, które demonstrują możliwości narzędzia sed w Linuksie.

Co to jest polecenie sed?

Polecenie sed, które jest akronimem dla Edytor strumieni, to narzędzie wiersza poleceń, które umożliwia użytkownikom systemu Linux wykonywanie operacji tekstowych na plikach i wyjściach terminala. Korzystając z seda, użytkownicy mogą znajdować i zamieniać określone słowa w tekście, wyświetlać określoną sekcję wyniku i edytować pliki tekstowe bez ich otwierania.

Trzy podstawowe operacje obsługiwane przez polecenie sed to:

  1. Wprowadzenie
  2. Usunięcie
  3. Podstawienie (Znajdź i zamień)

Zaawansowani użytkownicy mogą również implementować wyrażenia regularne za pomocą polecenia sed, aby wydajniej edytować strumienie tekstu.

instagram viewer

Podstawowa składnia polecenia to:

sed [opcje] [wzorzec] [ścieżka_pliku]

...gdzie opcje są różne funkcje polecenia, wzór to wyrażenie regularne lub skrypt, który chcesz dopasować, a ścieżka pliku jest ścieżką do pliku tekstowego zawierającego tekst.

10 przykładów polecenia sed w Linuksie

Jeśli planujesz zostać zwykłym użytkownikiem Linuksa, wiedza, jak edytować pliki, wyszukiwać i zamieniać określone słowa oraz filtrować dane wyjściowe terminala, może być przydatna. W tej sekcji omówiono kilka przykładów polecenia sed, które z pewnością zmieni Cię w zaawansowanego użytkownika Linuksa.

Będziemy używać następującego pliku tekstowego do demonstracji w poście.

To jest plik tekstowy demonstracyjny.
To niesamowity plik, który pomoże nam wszystkim.
Polecenie sed doskonale nadaje się również do edycji strumieniowej.
Chcesz dowiedzieć się, jak używać polecenia?
To jest kolejna linia w pliku.
To jest trzecia ogólna linia w pliku.
Ten plik nosi nazwę plik tekstowy.
To jest jabłko.
To jest pomarańcza.

1. Wyświetl zakres linii

Polecenia Linuksa, takie jak head i tail, wyświetlają pierwsze lub ostatnie dziesięć wierszy pliku tekstowego. Ale co, jeśli chcesz umieścić zawartość między dwoma określonymi wierszami w pliku? W takich sytuacjach może się przydać polecenie sed.

Aby wyświetlić zawartość między wierszami 3 i 5 pliku plik tekstowy.txt:

sed -n '3,5p' plik tekstowy.txt

Plik -n flaga zapobiega wyświetlaniu przez seda przestrzeni wzoru na koniec każdego cyklu. Możesz także użyć --cichy i --cichy opcje zamiast -n. Plik p argument oznacza wydrukować i służy do wyświetlania dopasowanych wierszy użytkownikowi.

Wykonanie powyższego polecenia w przykładowym pliku daje następujące dane wyjściowe.

Polecenie sed doskonale nadaje się również do edycji strumieniowej.
Chcesz dowiedzieć się, jak używać polecenia?
To jest kolejna linia w pliku.

Aby wyprowadzić całą zawartość pliku z wyjątkiem określonego zakresu, użyj rozszerzenia re flaga zamiast p w poleceniu:

sed '3,5d' textfile.txt

Plik re flaga usuwa dopasowane ciągi z danych wyjściowych i wyświetla resztę treści.

To jest plik tekstowy demonstracyjny.
To niesamowity plik, który pomoże nam wszystkim.
To jest trzecia ogólna linia w pliku.
Ten plik nosi nazwę plik tekstowy.
To jest jabłko.
To jest pomarańcza.

2. Wyświetl niekolejne wiersze

Aby wydrukować niekolejne wiersze między wieloma zakresami w pliku:

sed -n -e '1,2p' -e '5,6p' plik tekstowy.txt

Wynik:

To jest plik tekstowy demonstracyjny.
To niesamowity plik, który pomoże nam wszystkim.
To jest kolejna linia w pliku.
To jest trzecia ogólna linia w pliku.

Plik -mi flaga pomaga w wykonanie wiele działań za pomocą jednego polecenia.

3. Wstaw odstęp między wierszami

Jeśli z jakiegoś powodu chcesz wstawić puste wiersze między każdą linią w pliku tekstowym, użyj rozszerzenia sol argument z domyślnym poleceniem sed.

sed G plik tekstowy.txt

Aby wstawić wiele pustych wierszy na wyjściu, podaj wiele sol argumenty oddzielone średnik (;) postać.

sed 'G; G 'textfile.txt

4. Zastąp słowo w pliku tekstowym

Jeśli chcesz zastąpić każde wystąpienie określonego słowa innym słowem, użyj rozszerzenia s i sol argumenty za pomocą polecenia. Podstawowa składnia zastępowania słów za pomocą polecenia sed to:

sed s / originalword / replaceeword / g nazwa pliku

Używając powyższej składni, możesz zamienić słowo niesamowity z Wspaniały w pliku plik tekstowy.txt:

sed s / amazing / super / g textfile.txt

Plik s argument oznacza podstawienie i sol polecenie służy do zastąpienia dopasowanej treści określoną treścią zastępczą.

Aby zamienić drugie wystąpienie słowa na sed, przekaż liczbę do sol argument. W tym przypadku:

sed s / amazing / super / g2 textfile.txt

Jeśli chcesz zignorować wielkość znaków podczas zastępowania słów, użyj żołnierz amerykański zamiast sol, gdzie ja oznacza ignorować walizka.

sed s / Amazing / super / gi textfile.txt

Związane z: Używasz Vi? Oto jak otworzyć plik, a następnie zapisać i zakończyć

5. Zastępcze słowa w zakresie

Możesz również podstawiać słowa w określonym zakresie.

sed '2,5s / amazing / super / g' textfile.txt

6. Wykonaj wiele zmian jednocześnie

Jeśli chcesz wykonać dwa lub więcej podstawień na raz, po prostu oddziel polecenia za pomocą średnik (;) postać.

sed 's / niesamowity / super / g; s / command / utility / gi 'textfile.txt

System wyświetli następujące dane wyjściowe.

To jest plik tekstowy demonstracyjny.
To super plik, który pomoże nam wszystkim.
Narzędzie sed doskonale nadaje się również do edycji strumieniowej.
Chcesz dowiedzieć się, jak korzystać z narzędzia?
To jest kolejna linia w pliku.
To jest trzecia ogólna linia w pliku.
Ten plik nosi nazwę plik tekstowy.
To jest jabłko.
To jest pomarańcza.

7. Zastąp słowa tylko wtedy, gdy zostanie znalezione dopasowanie

Możesz także użyć polecenia sed, aby zamienić słowo tylko wtedy, gdy w wierszu znajduje się dane dopasowanie. Na przykład, aby zamienić słowo za z na jeśli słowo Pomarańczowy jest obecny w wierszu:

sed -e '/ orange / s / a / an / g' textfile.txt

Wydanie powyższego polecenia spowoduje wyświetlenie:

To jest plik tekstowy demonstracyjny.
To super plik, który pomoże nam wszystkim.
Narzędzie sed doskonale nadaje się również do edycji strumieniowej.
Chcesz dowiedzieć się, jak korzystać z narzędzia?
To jest kolejna linia w pliku.
To jest trzecia ogólna linia w pliku.
Ten plik nosi nazwę plik tekstowy.
To jest jabłko.
To jest pomarańcza.

Zwróć uwagę, że słowo za w linii To jest jabłko nie został zastąpiony, ponieważ system nie znalazł słowa Pomarańczowy w tym.

8. Zastępowanie słów za pomocą wyrażeń regularnych

Dla tych, którzy wiedzą, jak używać wyrażeń regularnych, wykonywanie operacji na łańcuchach za pomocą polecenia sed staje się znacznie łatwiejsze. Aby zwiększyć możliwości polecenia, można zaimplementować wyrażenia regularne.

Aby zamienić wszystkie wystąpienia słowa Niesamowity lub niesamowity z Wspaniały:

sed -e 's / [Aa] mazing / super / g' textfile.txt

Podobnie możesz również użyć zaawansowanych wyrażeń regularnych do wykonywania określonych operacji za pomocą polecenia sed.

9. Potrząśnij sed z innymi poleceniami

Możesz również połączyć seda z innymi poleceniami Linuksa. Na przykład możesz potokować lspci polecenie z sedem, aby dodać puste spacje między wierszami w wyjściu.

lspci | sed G.

Aby zamienić określone słowa w danych wyjściowych Pokaż trasę IP Komenda:

ip route show | sed s / src / source / g

Wspomniane polecenie zastępuje słowo źródło zamiast oryginalnego słowa src.

Związane z: Jak używać polecenia Znajdź do wyszukiwania plików w systemie Linux

10. Edytuj i wykonaj kopię zapasową oryginalnego pliku

Podczas pracy z plikami systemowymi ważne jest utworzenie kopii zapasowej oryginalnego pliku podczas wprowadzania zmian. Pomoże ci to cofnąć zmiany w przypadku, gdy coś się zepsuje.

Aby utworzyć kopię zapasową oryginalnego pliku za pomocą seda, użyj rozszerzenia -ja flagę w poleceniu.

sed -i'.backup '' s / amazing / super / g 'textfile.txt

Zostanie utworzony nowy plik o tej nazwie textfile.txt.backup. Możesz sprawdzić, czy te dwa pliki są różne, używając rozszerzenia różn Komenda.

diff plik_tekstowy.txt plik_tekstowy.txt.backup

Edycja łańcuchów w Linuksie za pomocą sed

Czasami, gdy pracujesz z plikami tekstowymi na terminalu, formatowanie i edycja danych wyjściowych dla lepszej czytelności staje się koniecznością. Sed i awk to narzędzia wiersza poleceń w Linuksie, które pozwalają użytkownikowi wydajnie pracować z plikami tekstowymi poprzez podzielenie danych na oddzielne wiersze.

Wielu użytkownikom ma trudności z zapamiętaniem argumentów i flag polecenia sed, ponieważ jest ich wiele, których można użyć. Wiedza o tym, jak uzyskać instrukcje wiersza poleceń dla dowolnego polecenia systemu Linux, pomoże ci łatwo wyjść z takich sytuacji.

E-mail
7 sposobów uzyskania pomocy wiersza poleceń w systemie Linux

Wszystkie niezbędne polecenia do nauki poleceń Linuksa z wiersza poleceń

Czytaj dalej

Powiązane tematy
  • Linux
  • Edytor tekstu
  • Terminal
  • Wiersz polecenia
O autorze
Deepesh Sharma (36 opublikowanych artykułów)

Deepesh jest młodszym edytorem Linuksa w MUO. Treści informacyjne pisze w internecie od ponad 3 lat. W wolnym czasie pisze, słucha muzyki i gra na gitarze.

Więcej od dostawcy Deepesh Sharma

Zapisz się do naszego newslettera

Dołącz do naszego biuletynu, aby otrzymywać wskazówki techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Jeszcze jeden krok…!

Potwierdź swój adres e-mail w wiadomości e-mail, którą właśnie wysłaliśmy.

.