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

So ersetzen Sie Dateiinhalte unter Linux stapelweise

WBOY
Freigeben: 2022-03-23 09:24:04
Original
20375 Leute haben es durchsucht

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'
Nach dem Login kopieren

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'
Nach dem Login kopieren

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'
Nach dem Login kopieren

Methode 2

Verwenden Sie den sed-Befehl wie folgt:

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

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'
Nach dem Login kopieren

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`
Nach dem Login kopieren

Beispielcode:

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

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage