Изменение вхождений одного шаблона в другой - PullRequest
1 голос
/ 30 ноября 2010

grep -R \"\/web * дает мне несколько случаев, которые я хочу изменить на \"\$\/web

Как я могу это сделать?

Ответы [ 3 ]

4 голосов
/ 30 ноября 2010

Командная строка: sed -i 's/"\/web/"$\/web/g' FILENAME, или пропустить -i и FILENAME, если вводится по трубопроводу.

Будьте осторожны, когда делаете это, хотя - может быть хорошей идеей запускать без -i, а затем с ним, если вы уверены, что результаты именно то, что вы хотите.

Для нескольких файлов: find . -type f -exec sed -i 's/"\/web/"$\/web/g' {} \;

2 голосов
/ 30 ноября 2010

с GNU sed

sed -r 's|"(/web)|"$\1|g' *

Если вы удовлетворены результатом, измените sed -r на sed -ri, чтобы выполнить редактирование на месте

0 голосов
/ 30 ноября 2010

В vim:

:set hidden
:args *
:argdo %s/"web/"$web/g
:wqa
...