Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So ersetzen Sie Dateiinhalte unter Linux stapelweise

So ersetzen Sie Dateiinhalte unter Linux stapelweise

WBOY
WBOYOriginal
2022-03-11 15:10:3220329Durchsuche

Methode: 1. Verwenden Sie den Perl-Befehl, die Syntax lautet „find -name'file name'|xargs perl-pi-e 's|Original content|New content|g'“; 2. Verwenden Sie den sed-Befehl Die Syntax lautet „sed -i „s/original content/new content/g“ „grep original content-rl-Verzeichnis“.

So ersetzen Sie Dateiinhalte unter Linux stapelweise

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

So ersetzen Sie Dateiinhalte unter Linux stapelweise

Methode 1

Verwenden Sie Perl, der Befehl lautet wie folgt:

find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'

Das folgende Beispiel dient zum Ersetzen von „http“ in allen pom.xml-Dateien in aktuelles Verzeichnis und alle Unterverzeichnisse ://repo1.maven.org/maven2“ werden durch ”http://localhost:8081/nexus/content/groups/public“ ersetzt.

find -name 'pom.xml' | xargs perl -pi -e 's|http://repo1.maven.org/maven2|http://localhost:8081/nexus/content /groups/public|g'

Die Perl-Sprache wird hier verwendet:

perl -pi -e Fügen Sie die Option -e zu einem Perl-Befehl hinzu, gefolgt von einer Codezeile, und der Code wird wie ein normales Perl-Skript ausgeführt.

Perl kann über die Befehlszeile verwendet werden Helfen Sie dabei, eine leistungsstarke Konvertierung in Echtzeit zu erreichen. Wenn Sie reguläre Ausdrücke sorgfältig studieren und richtig verwenden, ersparen Sie sich viel manuelle Bearbeitungsarbeit.

find -name 'pom.xml' | xargs perl -pi -e 's|http://repo1.maven.org/maven2|http://localhost:8081/nexus/content/groups/public|g'

Methode 2

Verwenden Sie den sed-Befehl wie folgt:

sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`

Eine einfache Methode zum stapelweisen Ersetzen von Zeichenfolgen in mehreren Dateien unter Linux. Verwenden Sie den Befehl sed, um Zeichenfolgen in mehreren Dateien stapelweise zu ersetzen.

Zum Beispiel: Ich möchte mahuinan durch huinanma ersetzen, führen Sie den Befehl aus:

sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www'

Dies ist derzeit der einfachste Batch-Ersetzungs-String-Befehl unter Linux!

Das spezifische Format ist wie folgt:

sed -i "s/oldString/newString/g"  `grep oldString -rl /path`

Beispielcode:

sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl /usr/aa`
sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl ./`

Verwandte Empfehlungen: „Linux Video Tutorial

Das obige ist der detaillierte Inhalt vonSo ersetzen Sie Dateiinhalte unter Linux stapelweise. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn