Te 10 przykładów Sed sprawi, że staniesz się zaawansowanym użytkownikiem Linuksa

Te 10 przykładów Sed sprawi, że staniesz się zaawansowanym użytkownikiem Linuksa

Edytowanie plików tekstowych i danych wyjściowych terminala to codzienność 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 niezbędnymi przykładami demonstrującymi moc narzędzia sed w systemie Linux.





Co to jest polecenie sed?

Polecenie sed, które jest akronimem od Edytor strumienia , to narzędzie wiersza polecenia, które umożliwia użytkownikom systemu Linux wykonywanie operacji tekstowych na plikach i wyjściach terminala. Korzystając z sed, użytkownicy mogą znaleźć i zamienić określone słowa w tekście, wyświetlić określoną sekcję danych wyjściowych i edytować pliki tekstowe bez ich otwierania.





Trzy podstawowe operacje obsługiwane przez polecenie sed to:

  1. Wprowadzenie
  2. Usunięcie
  3. Zastąpienie (Znajdź i zamień)

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



Podstawowa składnia polecenia to:

sed [options] [pattern] [filepath]

...gdzie opcje są różne funkcjonalności polecenia, wzór jest wyrażeniem regularnym lub skryptem, który chcesz dopasować, oraz ścieżka pliku to ścieżka do pliku tekstowego zawierającego tekst.





dlaczego Chrome zajmuje tak dużo pamięci?

10 przykładów linuksowego polecenia sed

Jeśli planujesz zostać zwykłym użytkownikiem Linuksa, wiedza o tym, jak edytować pliki, wyszukiwać i zastępować określone słowa oraz filtrować dane wyjściowe terminala, może być dla Ciebie przydatna. Ta sekcja zawiera kilka przykładów polecenia sed, które z pewnością zmieni Cię w zaawansowanego użytkownika Linuksa.

W poście użyjemy poniższego pliku tekstowego do demonstracji.





This is a demo text file.
It is an amazing file that will help us all.
The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

1. Zobacz gamę linii

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

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

sed -n '3,5p' textfile.txt

ten -n flaga zapobiega wyświetlaniu przez sed przestrzeni wzorca na koniec każdego cyklu. Możesz także użyć --cichy oraz --cichy opcje zamiast -n . ten P argument oznacza wydrukować i służy do wyświetlania dopasowanych linii użytkownikowi.

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

The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.

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

sed '3,5d' textfile.txt

ten D flaga usuwa pasujące ciągi z danych wyjściowych i wyświetla resztę treści.

This is a demo text file.
It is an amazing file that will help us all.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

2. Wyświetl niekolejne linie

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

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

Wyjście:

This is a demo text file.
It is an amazing file that will help us all.
This is another line in the file.
This is the third general line in the file.

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

3. Wstaw spację między wierszami

Jeśli z jakiegoś powodu chcesz wstawić puste wiersze między wierszami w pliku tekstowym, użyj g argument z domyślnym poleceniem sed.

jak wyczyścić pamięć podręczną na moim Androidzie?
sed G textfile.txt

Aby wstawić wiele pustych wierszy do wyniku, przekaż wiele g argumenty oddzielone znakiem średnik ( ; ) postać.

sed 'G;G' textfile.txt

4. Zamień słowo w pliku tekstowym

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

sed s/originalword/replaceword/g filename

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

sed s/amazing/super/g textfile.txt

ten s argument oznacza podstawienie i g 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 g argument. W tym przypadku:

sed s/amazing/super/g2 textfile.txt

Jeśli chcesz zignorować wielkość liter podczas zastępowania słów, użyj dawać zamiast g , gdzie i oznacza ignorować Obudowa.

sed s/Amazing/super/gi textfile.txt

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

5. Zastąp słowa wewnątrz zakresu

Możesz także podstawić słowa z określonego zakresu.

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

6. Wykonaj wiele podmian na raz

Jeśli chcesz wykonać dwie lub więcej zamian na raz, po prostu rozdziel polecenia za pomocą średnik ( ; ) postać.

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

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

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

7. Zamień słowa tylko wtedy, gdy zostanie znalezione dopasowanie

Możesz także użyć komendy sed, aby zastąpić słowo tylko wtedy, gdy w linii zostanie znalezione dane dopasowanie. Na przykład, aby zastąpić słowo do z jakiś jeśli słowo Pomarańczowy jest obecny w linii:

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

Wydanie w/w polecenia spowoduje:

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is an orange.

Zauważ, że słowo do w kolejce To jest jabłko nie został wymieniony, ponieważ system nie znalazł słowa Pomarańczowy w tym.

8. Zastąp słowa używając 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. Możesz zaimplementować wyrażenia regularne, aby zwiększyć moc polecenia.

Aby zastąpić wszystkie wystąpienia słowa Niesamowity lub niesamowity z Super :

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

Podobnie możesz również użyć zaawansowanych wyrażeń regularnych, aby wykonać określone operacje za pomocą polecenia sed.

9. Pipe sed z innymi poleceniami

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

lspci | sed G

Aby zastąpić określone słowa w wyniku działania pokaz trasy ip Komenda:

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

Wspomniane polecenie zastępuje słowo źródło w miejsce 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 tworzenie kopii zapasowej oryginalnego pliku podczas wprowadzania zmian. Pomoże to w cofnięciu zmian w przypadku, gdy coś się zepsuje.

Aby wykonać kopię zapasową oryginalnego pliku za pomocą sed, użyj -i flaga w poleceniu.

jak zrobić krzywą tekstu w programie Illustrator
sed -i'.backup' 's/amazing/super/g' textfile.txt

Zostanie utworzony nowy plik o nazwie plik tekstowy.txt.kopia zapasowa . Możesz sprawdzić, czy te dwa pliki są różne za pomocą różnica Komenda.

diff textfile.txt textfile.txt.backup

Edycja ciągów w Linuksie za pomocą sed

Czasami podczas pracy z plikami tekstowymi na terminalu formatowanie i edytowanie danych wyjściowych w celu uzyskania lepszej czytelności staje się koniecznością. Sed i awk to narzędzia wiersza poleceń w Linuksie, które umożliwiają użytkownikowi wydajną pracę z plikami tekstowymi poprzez podzielenie danych na oddzielne wiersze.

Wielu użytkowników 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.

Udział Udział Ćwierkać E-mail 7 sposobów na uzyskanie pomocy wiersza poleceń w systemie Linux

Wszystkie niezbędne polecenia do nauki o poleceniach systemu Linux z wiersza poleceń

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

Deepesh to Junior Editor dla Linuksa w MUO. Pisze przewodniki informacyjne o Linuksie, których celem jest zapewnienie błogiego doświadczenia wszystkim nowicjuszom. Nie jestem pewien co do filmów, ale jeśli chcesz porozmawiać o technologii, to jest twój facet. W wolnym czasie można go spotkać czytającego książki, słuchającego różnych gatunków muzycznych lub grającego na gitarze.

Więcej od Deepesha Sharma

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować