方法: 1. perl コマンドを使用します。構文は「find -name'ファイル名'|xargs perl-pi-e 's|元のコンテンツ|新しいコンテンツ|g'」です。 sed コマンドの構文は、「sed-i "s/original content/new content/g" `grep original content-rl directory`」です。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
方法 1
perl を使用します。コマンドは次のとおりです。
find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'
次の例は、現在のディレクトリとすべてのサブディレクトリにあるすべての pom.xml ファイルの ”http://repo1.maven.org/maven2“ を ”http://localhost:8081/ に置き換えます。 nexus/content /groups/public“.
find -name 'pom.xml' | xargs perl -pi -e 's|http://repo1.maven.org/maven2|http://localhost:8081/nexus/content /groups/public|g'
ここでは Perl 言語が使用されています。
perl -pi -e Perl コマンドに -e オプションを追加し、その後に行を続けます。
コマンド ラインから Perl を使用すると、強力なリアルタイム変換を実現できます。正規表現を注意深く調べて正しく使用すると、手動による編集作業を大幅に節約できます。
find -name 'pom.xml' | xargs perl -pi -e 's|http://repo1.maven.org/maven2|http://localhost:8081/nexus/content/groups/public|g'
方法 2
次のように sed コマンドを使用します。
sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`
Linux で複数のファイルの文字列をバッチ置換する簡単な方法。 sed コマンドを使用して、複数のファイルの文字列をバッチ置換します。
例: mahuinan を huinanma に置き換えたい場合は、次のコマンドを実行します:
sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www'
これは、現在 Linux で最も簡単なバッチ置換文字列コマンドです。
具体的な形式は次のとおりです:
sed -i "s/oldString/newString/g" `grep oldString -rl /path`
サンプル コード:
sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl /usr/aa` sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl ./`
関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinux でファイルの内容をバッチ置換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。