SED / AWK замена нескольких файлов? - PullRequest
2 голосов
/ 24 января 2012

Я пытался найти команду, которая будет искать в 13+ файлах и заменять все совпадения и отклонения данных форм и заменять их улучшениями данных форм.

Хитрость в том, что может быть[пробел] - или _ как разделитель, который я хотел бы сохранить.Я запускаю командную строку формы, поэтому я считаю, что мог бы запустить этот скрипт несколько раз и просто указать его на файл, или, если есть способ перехватить все файлы в каталоге (даже включая имена каталогов), это может быть проще.

Я полагаю, что это что-то на лад

sed "s / forms_data / form-data-extensions / g; s / forms-data / form-data-extensions / g;s / формы данных / улучшения данных формы / g "oldfile> newfile

гайка Я не уверен .....

отклонения могут быть

формы-данные

формы-данные

данные формы

и так далее.Будет ли кто-то не против поделиться с вами мудростью?Лучшее, что я могу найти, это что-то, называемое «замена артерии», но не смог получить никакой информации о том, как его использовать.

Большое спасибо.

1 Ответ

3 голосов
/ 24 января 2012

Будет ли это работать для вас -

sed -i 's/\<forms[ -_]data\>/form data enhancements/g' /path/to/files*

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

Обновление:

Если вы хотите сохранить разделители, вы можете сделать что-то вроде этого -

sed -i 's/\<forms\([ -_]\)data\>/form\1data\1enhancements/' /path/to/files*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...