Я запускаю Ubuntu 14.04 и веб-сайт Magento в моей Локальной Системе.
Теперь у меня есть каталог модуля, в котором я хочу заменить каждое возникновение "Magento\Module" с "MyCompany\Module" во всех файлах в этой текущей папке, и это - подкаталоги рекурсивно, конечно, но я предполагаю, что это не работает из-за "\", находятся там в моей строке поиска и строке замены.
Я уже попробовал:
find ./ -type f -readable -writable -exec sed -i "s/Magento\\Module/MyCompany\\Module/g" {} \;
Но это не работает вообще.
Помогите любому, это срочно.
Оболочка, вероятно, использует один из Escape:
$ echo sed "s/Magento\\Module/MyCompany\\Module/g"
sed s/Magento\Module/MyCompany\Module/g
Так или добавьте дополнительный Escape или одинарную кавычку все выражение:
$ echo sed "s/Magento\\\Module/MyCompany\\\Module/g"
sed s/Magento\\Module/MyCompany\\Module/g
$ echo sed 's/Magento\\Module/MyCompany\\Module/g'
sed s/Magento\\Module/MyCompany\\Module/g
Тестирование его:
$ echo 'every occurrence of "Magento\Module"' | sed 's/Magento\\Module/MyCompany\\Module/g'
every occurrence of "MyCompany\Module"