Jak používat sed k nalezení a nahrazení textu v souborech v LINUXU / Unixu shell

jsem nový uživatel Linuxu. Chtěl jsem najít text s názvem “ foo „a nahradit“ bar „v souboru s názvem“ hosts.txt.“Jak mohu pomocí příkazu sed najít a nahradit v systému Linux nebo UNIX?
sed je zkratka pro stream editor. Přečte daný soubor a upraví vstup podle seznamu příkazů sed. Ve výchozím nastavení je vstup zapsán na obrazovku, ale můžete vynutit aktualizaci souboru.,

Najít a nahradit text v souboru pomocí sed příkaz

postup pro změnu textu v souborech pod Linux/Unix pomocí sed:

  1. Použití Stream EDitor (sed) takto:
  2. sed-i ‚s/staré-text/nový text/g‘ vstupní.txt
  3. s je náhradou příkazu sed pro najít a nahradit
  4. říká sed najít všechny výskyty ‚starý-text a nahradit s ‚nový text‘ v souboru s názvem vstupu.txt
  5. ověřte, že byl soubor aktualizován:
  6. více vstupů.,txt

podívejme se na syntaxi a použití v detailech.

Syntaxe: sed najít a nahradit text

Příklady, které používají sed najít a nahradit

Nechte nás vytvořit textový soubor s názvem hello.,ws:
sed 's/foo/bar/g' hello.txt
Ukázkové výstupy:

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 příkaz problémů

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 používat sed, aby odpovídaly slovo a provést najít a nahradit

V tomto příkladu pouze najít slovo „láska“ a nahradit je „nemocný“ pokud řádek obsahu konkrétní řetězec, jako jsou FOO:
sed -i -e '/FOO/s/love/sick/' input.txt
Použijte příkaz cat ověřit nové změny:
cat input.txt

Rekapitulace: Pomocí sed najít a nahradit

🐧 Prosím, podpořit svou práci na Patreon nebo darováním.,
🐧 Získejte nejnovější Návody na Linuxu, Open Source & DevOps prostřednictvím RSS kanálu nebo týdenního e-mailového zpravodaje.
🐧 4 komentáře tak daleko… přidat jeden ↓
Kategorie Seznam Unix a Linux příkazy
Správa Souborů kočka
Firewall Alpine Zeď • 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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Přejít k navigační liště