大規模なフォルダ階層でテキストを置き換える方法は?

大規模なフォルダ階層でテキストを置き換える方法は?

複数のファイルから特定のテキスト(特定のインスタンスを除く)を検索して置き換えたいです。各行に対して、その行を置き換える必要があるかどうかを尋ねるメッセージが表示されます。 vimに似ていますが、:%s/from/to/gcc確認メッセージを含む)フォルダセットにまたがっています。使用できる良いコマンドラインツールやスクリプトはありますか?

ベストアンサー1

なぜvimを使用しないのですか?

vimはすべてのファイルを開きます

vim $(find . -type f)

または、関連ファイルを開きます(Calebが提案したように)。

vim $(grep 'from' . -Rl)

その後、すべてのバッファで置換を実行します。

:bufdo %s/from/to/gc | update

sedを使用してこれを行うこともできますが、sed私のsedの知識は限られています。

おすすめ記事