Ну, можно написать сценарий чего-либо.
Однако, если бы я делал это, то я использовал бы vim
макросы. (Если Вы не знакомы с vim
уже, необходимо изучить это, но иначе проигнорировать это),
Несколько основных указателей:
q - начните записывать макрос
qx - прекратите записывать макрос и назовите его 'x'
@x - выполните макрос, названный 'x'
Макрос сразу повторно выполнит любые команды, которые Вы ввели во время сессии записи.
Таким образом, если Вы хотели, чтобы макрос копировал блок как этот тип:
q start macro
/CLASS jump to next "CLASS"
V start selecting full lines
/END jump to next "END
Y yank selected lines (yank = copy)
j scroll down one line
p put (paste)
qd stop recording and name the macro d
Существует много хороших ресурсов и примеров там для использований энергии и макросов энергии.
Если это имеет значение sed - своего рода версия командной строки энергии, таким образом, Вы смогли адаптировать то, что я сказал sed, но я менее знаком с ним, таким образом, я не могу ручаться за него.
~~ редактируют ~~
Другая вещь, которая делает это более полезным, vim
способность открыть несколько файлов. Несколько открытых файлов упоминаются как буферы. Вы активируете это при наличии нескольких имен файлов после vim
(IE vim *.txt
открыть все txt файлы)
Для выполнения макроса на нескольких буферах сначала откройте все файлы одновременно. Затем используйте :bufdo normal @x
выполнять макрос x
на каждом буфере.
Отметьте, Вы должны иметь :w
как последний шаг макроса, который постарается не застревать, когда это пытается переключиться на следующий буфер, если текущий не сохраняется.
:bn
возьмет вручную к следующему буферу.
Кроме того, см. https://stackoverflow.com/questions/1291962/replay-a-vim-macro-until-end-of-buffer для того, как выполнить макрос для каждой строки. Смешивание и подгонка :)
Проблемой был конфигурационный файл. pacman сохранил конфигурационный файл как pacnew, таким образом, я просто переименовал его.