У меня есть небольшой скрипт Vim, который выполняет многострочный поиск и замену:
vim -c 's/^ *<hi a=\"26\">\nHello/<td height=\"26\">\r<\/table>\r<bla \/>' \
-c 'w!' -c 'q' test.html
Это работает. Однако, когда я помещаю это в find -exec, чтобы сделать это рекурсивно в каталоге:
find . -iname 'test.html' -exec \
vim -c 's/^ *<hi a=\"26\">\nHello/<td height=\"26\">\r<\/table>\r<bla \/>' \
-c 'w!' -c 'q' \
{} \;
test.html остается без изменений, и Vim выдает мне эту ошибку:
Pattern not found:
^ *<hi a=\"26\">\nHello
in ./test.html
Это действительно странно, потому что это правильное регулярное выражение, и я могу с успехом искать его в Vim.
Можете ли вы увидеть какие-либо очевидные ошибки с моим синтаксисом поиска?