jestem nowym użytkownikiem Linuksa. Chciałem znaleźć tekst o nazwie ” foo „i zastąpiony” bar „w pliku o nazwie” hosts.txt.”Jak użyć polecenia sed, aby znaleźć i zastąpić w systemie Linux lub UNIKSOPODOBNYM?
sed oznacza stream editor. Odczytuje podany plik, modyfikując dane wejściowe zgodnie z listą poleceń sed. Domyślnie wejście jest zapisywane na ekranie, ale można wymusić aktualizację pliku.,
znajdź i zamień tekst w pliku za pomocą polecenia sed
procedura zmiany tekstu w plikach pod Linuksem/Unix za pomocą sed:
- Użyj edytora strumienia (Sed) w następujący sposób:
- sed-i 's/old-text/new-text/g' input.txt
- s jest poleceniem zastępczym sed dla find and replace
- mówi sed, aby znalazł wszystkie wystąpienia 'starego tekstu' i zastąpił 'nowego tekstu' w pliku o nazwie input.txt
- sprawdź, czy plik został zaktualizowany:
- więcej danych wejściowych.,txt
zobaczmy składnię i sposób użycia w szczegółach.
składnia: sed znajdź i zamień tekst
przykłady, które używają sed do znalezienia i zastąpienia
stwórzmy plik tekstowy o nazwie hello.,ws:sed 's/foo/bar/g' hello.txt
przykładowe wyjścia:
The is a test file created by nixCrft for demo purpose.bar is good.Foo is nice.I love FOO.
The is a test file created by nixCrft for demo purpose.bar is good.bar is nice.I love bar.
problemy z poleceniami sed
sed: 1: "s/http:///https://www.c ...": bad flag in substitute command: '/'
https://www.cyberciti.biz is outdate.Consider using https:// for all your needs.
jak użyć sed, aby dopasować słowo i wykonać find and replace
w tym przykładzie znajdź tylko słowo”Love”i zastąp je słowem”SICK”, jeśli zawiera określony ciąg znaków, taki jak Foo:sed -i -e '/FOO/s/love/sick/' input.txt
użyj polecenia cat, aby zweryfikować nowe zmiany:cat input.txt
podsumowanie: za pomocą sed znaleźć i zastąpić
Get Pobierz najnowsze tutoriale na temat Linuksa, Open Source& DevOps poprzez kanał RSS lub cotygodniowy biuletyn e-mail.
🐧 4 komentarzy do tej pory… dodaj jeden ↓
Kategoria | lista poleceń systemu Unix i Linux |
---|---|
zarządzanie plikami | Cat |
Firewall | Alpine awall • CentOS 8 • openSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.,04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.,04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |