Polecenie SED w Linux z 15 praktycznymi przykładami
- 4343
- 917
- Maria Piwowarczyk
„sed”
Polecenie jest niezbędnym narzędziem do manipulowania tekstem w Linux. Pozwala wyszukiwać wzorce w tekście i wykonywać różne operacje w pasującym tekście, takie jak wymiana, usuwanie lub wydrukowanie. To polecenie przyjmuje dane wejściowe z pliku lub standardowego wejścia.
Domyślne polecenie SED nie wprowadza zmian w oryginalnym pliku, dopóki nie użyjesz -I
Parametr wiersza poleceń. Polecenie ostrzega tekst i wysyła wynik do standardowego wyjścia. Możesz także przekierować tekst do pliku zgodnie z wymaganiami.
W tym artykule przedstawimy 15 praktycznych przykładów korzystania z „sed”
polecenie wykonywania różnych zadań.
Wymień przykład Strings za pomocą SED
1. Wymień ciąg w pliku
Aby wymienić ciąg w pliku, możesz użyć 's/old_string/new_string/g'
Komenda. Składnia to:
12 | # SyntaxSed 's/old_string/new_string/g' plik_name |
Aby wymienić ciągi w pliku za pomocą polecenia SED, użyj -I
argument o wprowadzeniu zmian. Ciąg polecenia musi zawierać polecenie zastępcze 'S', oryginalny ciąg i ciąg wymiany. Na przykład, aby zastąpić wszystkie wystąpienia ciągów „Apple” na ciąg „banan” w pliku o nazwie Fruits.TXT, użyj następującego polecenia:
Zobacz następujący przykład:
SED 'S/Apple/Banana/G' owoce.tekst
To polecenie odczytuje treść z „owoców.plik txt ”i zastępuje wszystkie wystąpienia słowa "jabłko" słowem "banan" i drukuje wynikowy tekst do terminala. G
mówi poleceniu, aby zastąpić wszystkie dopasowane zdarzenia na całym świecie w pliku.
Możesz także wprowadzić zmiany w tym samym pliku za pomocą -I
opcja.
SED -i 'S/Apple/Banana/G' owoce.tekst
Zobaczysz, że oryginalny plik jest modyfikowany. Możesz także wykonać kopię zapasową pliku przed wprowadzeniem zmian w oryginalnym pliku.
sed -i.Owoce Bak/Apple/Banana/G '.tekst
Plik kopii zapasowej oryginału zostanie utworzony w bieżącym katalogu o nazwie owoce.tekst.Bak.
2. Wymień pierwsze występowanie każdej linii
Aby zastąpić tylko pierwsze wystąpienie wzoru na każdym wierszu, możesz użyć s/wzor. Na przykład, aby zastąpić tylko pierwsze wystąpienie słowa „jabłko” słowem „banan” w plikach owoce.TXT, możesz użyć następującego polecenia:
SED/Apple/Banana/'Fruits.tekst
3. Wymień ostatnie występowanie każdej linii
Aby zastąpić tylko ostatnie wystąpienie wzoru na każdym wierszu, możesz użyć polecenia S/Wzór/wymiana/g '. Na przykład, aby zastąpić tylko ostatnie wystąpienie słowa „jabłko” słowem „banan” w plikach owoce.txt ', możesz użyć następującego polecenia:
sed 's/\ (.*\) owoce Apple/\ 1banana/g '.tekst
4. Wymień ciąg w określonym numerze wiersza
Aby wymienić ciąg na określonym wierszu, możesz użyć lineny/wzoru/zamiennika/polecenia. Na przykład, aby zastąpić pierwsze wystąpienie słowa „jabłko” słowem „banan” w wierszu 3 owoców plików.TXT, możesz użyć następującego polecenia:
sed '3s/jabłko/banan/' owoce.tekst
5. Wymień ciąg z zakresu liczb linii
Aby wymienić ciąg w zakresie linii, możesz użyć startlineNumber, endlineNumber/wzór/zamiennik/polecenie. Na przykład, aby zastąpić pierwsze wystąpienie słowa „jabłko” słowem „banan” w wierszach od 3 do 5 owoców plików.TXT, możesz użyć następującego polecenia:
sed '3,5s/jabłko/banan/' owoce.tekst
Usuwanie linii w pliku za pomocą SED
6. Usuń pierwszą linię z pliku
Aby usunąć linię zawierającą określony ciąg, możesz użyć polecenia /wzorca /d. Na przykład, aby usunąć wszystkie wiersze zawierające słowo „jabłko” w owocach plików.TXT, możesz użyć następującego polecenia:
owoce sed „1d”.tekst
7. Usuń linia zawiera określony ciąg
Aby usunąć linię zawierającą określony ciąg, możesz użyć „/wzór/d”
Komenda. Na przykład, aby usunąć wszystkie wiersze zawierające słowo „jabłko” w owocach plików.TXT, możesz użyć następującego polecenia:
Sed '/Apple/D' owoce.tekst
8. Usuń linie oprócz pasującego ciągu
Aby odwrócić pasujące linie, możesz użyć '!'
operator w połączeniu z innymi poleceniami. Na przykład, aby usunąć wszystkie wiersze zawierające słowo „jabłko” w owocach plików.TXT, możesz użyć następującego polecenia:
sed '/jabłko/!D 'Fruits.tekst
9. Usuń zakres linii
Aby usunąć szereg linii, możesz użyć startlineNumber, endlineNumberd
Komenda. Na przykład, aby usunąć wiersze od 3 do 5 pliku owoce.tekst
, Możesz użyć następującego polecenia:
sed „3,5d” owoce.tekst
10. Usuń puste linie z pliku
Możesz usunąć puste linie z pliku za pomocą „/^$/d”
opcja.
sed '/^$/d' owoce.tekst
To polecenie uważa linię za pustą, która nie zawiera żadnej postaci, nawet jednej przestrzeni.
Linie drukowania z pliku za pomocą SED
11. Wydrukuj tylko numery linii
Aby wydrukować tylko liczby linii pasujących linii, możesz użyć '/wzór/='
Komenda. Na przykład, aby wydrukować numery linii wszystkich linii zawierających słowo „jabłko” w owocach pliku.TXT, możesz użyć następującego polecenia:
SED '/Apple/=' owoce.tekst
12. Wydrukuj zakres pliku
Aby wydrukować szereg linii, możesz użyć „Rozpocznij, endp”
polecenia. Na przykład, aby wydrukować pierwsze 10 wierszy owoców plików.TXT, możesz użyć następującego polecenia:
sed -n '1,10p' owoce.tekst
Wstawienie linii do pliku za pomocą SED
13. Włóż nową linię po dopasowaniu wzoru
Aby wstawić linię po określonym wzorze, możesz użyć „/wzór/a \ newline”
Komenda. Na przykład, aby wstawić linię „winogrona” po linii zawierającej słowo „jabłko” w owocach plików.TXT, możesz użyć następującego polecenia:
Sed '/Apple/a \ winogrona owoce.tekst
14. Włóż nową linię przed dopasowaniem wzoru
Aby wstawić linię przed określonym wzorem, możesz użyć „/wzór/i \ newline”
Komenda. Na przykład, aby wstawić linię „winogrona” przed linią zawierającą słowo „jabłko” w owocach plików.TXT, możesz użyć następującego polecenia:
Sed '/Apple/i \ winogrona owoce.tekst
Inne zadania za pomocą SED
15. Zmień przypadek znaków
Aby zmienić przypadek ciągu, możesz użyć „T/Old/New/”
Komenda. Na przykład, aby zmienić wszystkie małe litery na wielki poziom owoców plików.TXT, możesz użyć następującego polecenia:
sed 'y/abcdEfghijklmnopqrstuvwxyz/abcDefghijklmnopqrstuvwxyz/' owoce.tekst
Wniosek
Mamy nadzieję, że te przykłady były pomocne w pokazaniu wszechstronności polecenia SED. Pamiętaj, że SED jest bardzo potężnym narzędziem i ważne jest, aby dokładnie przetestować swoje polecenia przed użyciem ich w ważnych plikach. Jeśli masz jakieś pytania lub potrzebujesz dalszej pomocy, nie wahaj się zapytać. Z tymi praktycznymi przykładami za pasem będziesz na dobrej drodze do opanowania polecenia SED i zostaniesz biegłym administratorem Linuksa.
- « Pierwsze kroki z linią poleceń Linux początkiem
- Sortuj polecenie w Linux z praktycznymi przykładami »