Да, я знаю, я мог бы просто использовать sed. Но давайте предположим, что я какой-то больной. Мазохист, если вы будете ..
У меня есть файл /tmp/a.script
, содержащий:
%s_"taxonomy\.php[^"]*\([0-9]\)_"\1.taxonomy_g
%s_"rtf\.php[^"]*\([0-9]\)_"\1.rtf_g
%s_"csv\.php[^"]*\([0-9]\)_"\1.csv_g
%s_"xml\.php[^"]*\([0-9]\)_"\1.xml_g
(Я убрал их из моей истории VIM)
Я бы очень хотел, чтобы vim выполнил эти команды для файла, например, example.html
.
Но я не могу понять, как выполнить этот скрипт для файла.
Мне известен аргумент командной строки -c
. Но он выполняет только одну команду, я хочу выполнить все эти команды.
Есть идеи?
Ответ ниже, для справки, быстрый способ сделать это будет:
for i in *.html ; do
sed -i'' -e 's_"taxonomy\.php[^"]*\([0-9]\)_"\1.taxonomy_g' $i
sed -i'' -e 's_"rtf\.php[^"]*\([0-9]\)_"\1.rtf_g' $i
sed -i'' -e 's_"csv\.php[^"]*\([0-9]\)_"\1.csv_g' $i
sed -i'' -e 's_"xml\.php[^"]*\([0-9]\)_"\1.xml_g' $i
echo $i
done