Heim > Artikel > Betrieb und Instandhaltung > So ersetzen Sie Dateiinhalte unter Linux stapelweise
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“.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
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!