多数のファイル内の 1 行を変更する簡単な方法はありますか?

多数のファイル内の 1 行を変更する簡単な方法はありますか?

PHP CodeSniffer を使用しようとしていますが、結果は次のとおりです。

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

1 行に多くの小さな変更 (たとえば、@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`

関連情報