GNU/Linux >> Znalost Linux >  >> Linux

Nahraďte slovo jiným v bash

K tomu můžete použít sed:

$ sed s/sara/mary/g <<< 'hello sara , my name is sara too .'
hello mary , my name is mary too .

Nebo pokud chcete změnit soubor na místě:

$ cat FILE
hello sara , my name is sara too .
$ sed -i s/sara/mary/g FILE
$ cat FILE
hello mary , my name is mary too .

Můžete použít sed:

# sed 's/sara/mary/g' FILENAME

vypíše výsledky. Konstrukce s/// znamená hledat a nahrazovat pomocí regulárních výrazů. 'g' na konci znamená "každý případ" (nejen ten první).

Můžete také použít perl a upravit soubor na místě:

# perl -p -i -e 's/sara/mary/g;' FILENAME

Nebo awk

awk '{gsub("sara","mary")}1' <<< "hello sara, my name is sara too."

Čistý bash způsob:

before='hello sara , my name is sara too .'
after="${before//sara/mary}"
echo "$after"

NEBO pomocí sed:

after=$(sed 's/sara/mary/g' <<< "$before")
echo "$after"

VÝSTUP:

hello mary , my name is mary too .

Linux
  1. Alias ​​s proměnnou v bash

  2. Jak nahradit text podobný sedu pythonem?

  3. Najít a nahradit sed v adresáři a podadresářích

  1. Bash:počkejte s časovým limitem

  2. Jak nahradím jednoduché uvozovky jiným znakem v sed?

  3. Nahraďte mezery podtržítky pomocí BASH

  1. Nahraďte chytré uvozovky příkazem sed pro Linux

  2. Jak rekurzivně nahradit znaky sed?

  3. sed nahradit všechny tabulátory a mezery jednou mezerou