Find & コマンド ラインから複数のドキュメントのテキストを置換する
コマンド ラインに慣れていて、複数のテキスト ドキュメントのグループから単語、フレーズ、URL、または文字を検索して置換する必要がある場合、perl は非常にうまく機能します。単純なコマンド文字列は、単一のドキュメント内であろうと、複数のドキュメントのグループにまたがっていようと、テキストのグループ バッチ検索と置換を非常に迅速に実行します。
コマンドラインの多くのものと同様に、確認プロセスがないため、コマンドを開始する前に構文が正しく設定されていることを確認する必要があります。そうでない場合は、別の検索と置換が必要になる場合がありますタイプミスを修正します。
基本的なコマンド構文は次のとおりです。 perl -pi -w -e 's/THIS/THAT/g;' /path/to/files.txt
単一単語の例、すべての .txt ファイルで「ogre」のすべてのインスタンスを「cornbread」に置き換える必要がある場合「Documents」フォルダ内にある場合は、次のコマンドを使用します:
perl -pi -w -e 's/ogre/cornbread/g;' ~/Documents/.txt
句全体を見つけて置換する例では、「The Chocolate Factory」という文全体を置換すると仮定しましょう」は、ドキュメント ディレクトリに保存されている「Films」で始まる .txt ファイルのグループ内の「The Wizard of Oz」を含む:
perl -pi -w -e 's/チョコレート工場/オズの魔法使い/g;' ~/Documents/Films.txt
検索と置換はすぐに行われます。 cat と grep を使用して変更を再確認できます:
cat ~/Documents/Films124.txt |grep オズの魔法使い"
.このような迅速なタスクや同様の他のタスクに加えて、追加のダウンロードを使用する必要はありません。
Lifehacker の優れたトリックに感謝します。
Update: 「sed」コマンドは、コマンド ラインからすばやく検索して置換するもう 1 つの方法です。 sed をカバーすることは、別の記事の主なトピックですが、このタスクで sed を使用する基本的な構文は少し単純で覚えやすいです:
sed -i 's/THIS/THAT/g' /path/to/files.txt
正しい方法も間違った方法もないので、perlを使うかsedを使うかは個人の好みの問題になります。