Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование в *nix (http://forum.oszone.net/forumdisplay.php?f=35)
-   -   [решено] Замена части строки с условием (sed, awk) (http://forum.oszone.net/showthread.php?t=343654)

DJ Mogarych 14-01-2020 12:11 2904866

Замена части строки с условием (sed, awk)
 
Привет!
Имеется конфиг со следующей строкой:
Код:

define("DBHOST", "358.24.5.342");
Условие следующее: в строке, содержащей DBHOST, заменить второе вхождение ".*" (там не только цифры могут быть) на "localhost".
Что-то никак не въеду, помогите, пожалуйста.
Заранее спасибо.

greg zakharov 15-01-2020 00:11 2905020

Код:

sed -i.bak 's/\(.*dbhost"\,\).*/\1 "localhost");/Ig' file.cfg
Или:
Код:

sed -i.bak 's/\(.*dbhost"\,\s*"\).*\(".*\)/\1localhost\2/Ig' file.cfg

DJ Mogarych 15-01-2020 09:58 2905046

А, надо было брать шире, то, что в скобочках! Спасибо!

А что значит \1 и \2?

greg zakharov 15-01-2020 13:30 2905093

Группы совпадений.


Время: 16:57.

Время: 16:57.
© OSzone.net 2001-