Ubuntu находит и заменяет в файлах текущего каталога рекурсивно

Я запускаю Ubuntu 14.04 и веб-сайт Magento в моей Локальной Системе.

Теперь у меня есть каталог модуля, в котором я хочу заменить каждое возникновение "Magento\Module" с "MyCompany\Module" во всех файлах в этой текущей папке, и это - подкаталоги рекурсивно, конечно, но я предполагаю, что это не работает из-за "\", находятся там в моей строке поиска и строке замены.

Я уже попробовал:

find ./ -type f -readable -writable -exec sed -i "s/Magento\\Module/MyCompany\\Module/g" {} \;

Но это не работает вообще.

Помогите любому, это срочно.

1
задан 5 December 2015 в 12:06

1 ответ

Оболочка, вероятно, использует один из 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"
0
ответ дан 30 September 2019 в 02:12

Другие вопросы по тегам:

Похожие вопросы: