Så här använder du sed för att hitta och ersätta text i filer i Linux / Unix shell

jag är en ny Linux-användare. Jag ville hitta texten som heter ” foo ” och ersatte till ”bar” i filen som heter ”hosts.txt.”Hur använder jag sed-kommandot för att hitta och ersätta på Linux eller UNIX-liknande system?
sed står för stream editor. Den läser den givna filen, ändra inmatningen som anges av en lista med sed-kommandon. Som standard skrivs ingången till skärmen, men du kan tvinga att uppdatera filen.,

hitta och ersätt text i en fil med kommandot sed

proceduren för att ändra texten i filer under Linux/Unix med sed:

  1. använd Stream EDitor (sed) enligt följande:
  2. sed-i ’s/old-text/new-text/g” Input.txt
  3. s är substitutionskommandot för sed för Sök och ersätt
  4. det talar om för sed att hitta alla förekomster av ”old-text” och ersätta med ”new-text” i en fil som heter input.txt
  5. kontrollera att filen har uppdaterats:
  6. mer inmatning.,txt

Låt oss se syntax och användning i detaljer.

Syntax: sed hitta och ersätt text

exempel som använder sed för att hitta och ersätta

låt oss skapa en textfil som heter hello.,ws:
sed 's/foo/bar/g' hello.txt
Exempelutgångar:

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.

sed-kommandoproblem

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.

hur man använder sed för att matcha ord och ord.utför sök och ersätt

i det här exemplet hittar du bara ordet”kärlek”och ersätter det med”sjuk”om linjeinnehåll en specifik sträng som Foo:
sed -i -e '/FOO/s/love/sick/' input.txt
Använd Cat-kommandot för att verifiera nya ändringar:
cat input.txt

Recap: använda sed för att hitta och ersätta

Vänligen stödja mitt arbete på Patreon eller med en donation.,
🐧 Få de senaste tutorials på Linux, Öppen Källkod & DevOps via RSS-flöde eller Veckovisa nyhetsbrev.
4 kommentarer hittills… Lägg till en ↓
Kategori lista över Unix-och Linux-kommandon
filhantering katt
brandvägg 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

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Hoppa till verktygsfältet