GNU/Linux >> Znalost Linux >  >> Linux

Najít a nahradit ve skriptování shellu

K vyhledání/nahrazení můžete použít sed. Obvykle to dělám ze skriptu bash shell a přesunu původní soubor obsahující hodnoty, které mají být nahrazeny, pod nový název a spustím sed zápis výstupu na můj původní název souboru takto:

#!/bin/bash
mv myfile.txt myfile.txt.in

sed -e 's/PatternToBeReplaced/Replacement/g' myfile.txt.in > myfile.txt.

Pokud neurčíte výstup, nahrazení půjde na stdout.


sed -i 's/variable/replacement/g' *.conf

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

sed -i 's/toreplace/yoursetting/' configfile 

sed je pravděpodobně dostupný na každém unixovém systému. Pokud chcete nahradit více než jeden výskyt, můžete přidat g k příkazu s:

sed -i 's/toreplace/yoursetting/g' configfile 

Buďte opatrní, protože to může zcela zničit váš konfigurační soubor, pokud správně nezadáte hodnotu toreplace. sed také podporuje regulární výrazy při hledání a nahrazování.


Jistě, můžete to udělat pomocí sed nebo awk. příklad sed:

sed -i 's/Andrew/James/g' /home/oleksandr/names.txt

Linux
  1. Použití sed k nalezení a nahrazení textových souborů v Linuxu

  2. Použití příkazů Sed,ex a perl k vyhledání a nahrazení textu v Linuxu

  3. Otestovat rekurzivní vyhledávání a výměnu Sed před spuštěním?

  1. Zobrazování obsahu nejvyšší hodnoty ve skriptování Shell?

  2. Pomocí „sed“ najít a nahradit?

  3. Rozdíl mezi '{}' a {} v příkazu find?

  1. Editor Vi a Vim:12 účinných příkladů hledání a nahrazování

  2. Použití grep a sed k nalezení a nahrazení řetězce

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