ホームページ  >  記事  >  運用・保守  >  Linux でファイルの内容をバッチ置換する方法

Linux でファイルの内容をバッチ置換する方法

WBOY
WBOYオリジナル
2022-03-11 15:10:3220326ブラウズ

方法: 1. perl コマンドを使用します。構文は「find -name'ファイル名'|xargs perl-pi-e 's|元のコンテンツ|新しいコンテンツ|g'」です。 sed コマンドの構文は、「sed-i "s/original content/new content/g" `grep original content-rl directory`」です。

Linux でファイルの内容をバッチ置換する方法

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

Linux でファイルの内容をバッチ置換する方法

方法 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。