Hvordan bruke sed for å finne og erstatte tekst i filer i Linux / Unix shell

jeg er en ny Linux-bruker. Jeg ønsket å finne den teksten som kalles «foo» og byttet til «bar» i en fil som heter «verter.txt.»Hvordan bruker jeg sed-kommandoen for å finne og erstatte på Linux-eller UNIX-lignende system?
sed står for stream editor. Leser det gitt fil, endre input som er angitt av en liste med sed-kommandoer. Standard inngang som er skrevet til skjermen, men du kan tvinge til å oppdatere filen.,

søk og erstatt tekst i en fil ved hjelp av sed-kommandoen

prosedyren for å endre tekst i filer under Linux/Unix bruker sed:

  1. Bruk Stream EDitor (sed) som følger:
  2. sed -jeg ‘s/gammel-tekst/nye-tekst/g’ input.txt
  3. s er erstatning kommando av sed for søk og erstatt
  4. Det forteller sed å finne alle forekomster av «gamle-tekst’ og erstatt med » ny-tekst i en fil som heter inngang.txt
  5. Kontroller at filen har blitt oppdatert:
  6. mer input.,txt

La oss se syntaks og bruk i detaljer.

Syntaks: sed finne og erstatte tekst

Eksempler på at bruk sed for å finne og erstatte

La oss lage en tekstfil kalt hei.,ws:
sed 's/foo/bar/g' hello.txt
Eksempel utganger:

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-kommandoen problemer

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.

Hvordan å bruke sed å matche ord og utføre søk-og-erstatt

I dette eksempelet bare finne ordet ‘kjærlighet’, og erstatter det med ‘syk’ hvis linjen innhold en bestemt streng som FOO:
sed -i -e '/FOO/s/love/sick/' input.txt
Bruke cat-kommandoen til å kontrollere nye endringer:
cat input.txt

Oppsummering: ved Hjelp av sed for å finne og erstatte

🐧 Vær støtte mitt arbeid på Patreon eller med en gave.,
🐧 Få de nyeste tutorials på Linux, Åpen Kildekode & DevOps via RSS-feed eller Ukentlige nyhetsbrev på e-post.
🐧 4 kommentarer så langt… legg til en ↓
Kategorien Liste av Unix-og Linux-kommandoene
filbehandling cat
Brannmur 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

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Hopp til verktøylinje