Jak używać sed do znajdowania i zastępowania tekstu w plikach w powłoce Linux / Unix

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:

  1. Użyj edytora strumienia (Sed) w następujący sposób:
  2. sed-i 's/old-text/new-text/g' input.txt
  3. s jest poleceniem zastępczym sed dla find and replace
  4. mówi sed, aby znalazł wszystkie wystąpienia 'starego tekstu' i zastąpił 'nowego tekstu' w pliku o nazwie input.txt
  5. sprawdź, czy plik został zaktualizowany:
  6. 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ć

🐧 proszę wspierać moją pracę na Patreon lub z darowizny.,
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

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Przejdź do paska narzędzi