LINUX.ORG.RU

rpl поиск и замена строк из кириллицы в файлах

 , замены,


0

1

Приветствую

OS: CentOS locale:utf-8

Возникла следующая проблема - не работает замена русских символов rpl -iqR $oldword $newword /var/www/user/data/www/sait.ru

где $oldword - заменяемая строка $newword - заменяющая строка

Пример: rpl -iqR Екатеринбург Казань /var/www/user/data/www/sait.ru

Если подставлять строки на латинице, то все работает.

Подскажите, пожалуйста, в чем может быть проблема и как это исправить?

Подскажите, пожалуйста, в чем может быть проблема и как это исправить?

Думаю, что проблема в языке Си, Юникоде и кривых руках разработчиков. В таком случае решение очевидное.
Отмечу, что я очень люблю язык Си, Юникод и разработчиков.

CYB3R ★★★★★
()

Могу предложить вообще не использовать rpl, а заюзать find+xargs+sed:

find /var/www/user/data/www/sait.ru -type f -print0 | xargs -0 -n 1 sed -i -e "s/$oldword/$newword/g"

CYB3R ★★★★★
()

Вот так работает

#!/bin/bash

f=«Старая строка» t=«Новая строка»

for i in `egrep -r $f /var/www/user/data/www/site.ru | grep -v svn | cut -d ":" -f1` do reg=«s/$f/$t/g» sed -e $reg $i > ${i}.bak mv ${i}.bak $i echo $i done

Drake777
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.