Есть ли простой способ изменить одну строку во многих файлах?

Есть ли простой способ изменить одну строку во многих файлах?

Я пытаюсь использовать PHP CodeSniffer, и вот результат:

-----------------------------------------------------------------
A TOTAL OF 3008 ERROR(S) AND 380 WARNING(S) WERE FOUND IN 46 FILE(S)
-----------------------------------------------------------------

В одной строке есть много небольших изменений (например, изменить @author Olivier Ponsна ), которые я хотел бы сделать через скрипт оболочки или, что еще лучше, через командную строку и (если возможно) с использованием регулярных выражений.@author Olivier Pons <[email protected]>

Есть ли у вас какие-либо идеи/предложения/рабочие решения этой проблемы?

Спасибо!

(Примечание: я уже прочиталэтотно мне это не помогло)

решение1

Я не уверен, что не помогло вам в предоставленной вами ссылке, но, sedпохоже, это подходящий инструмент для этого. Он поддерживает замены регулярных выражений, и если вы его передадите, -iон изменит файлы на месте:

$ sed -i 's/@author Olivier Pons/& <[email protected]>/g' /path/to/your/file /path/to/another/file ...

( &В замене — это сокращение, которое означает «включить все совпадение»)

решение2

Я думаю, вы могли бы использовать sed.

Например.

sed -i "s/@author Olivier Pons/@author Olivier Pons <[email protected]>/g" `grep "@author Olivier Pons" -rl YOUR_FILE_DIR`

Связанный контент