Maison >Opération et maintenance >exploitation et maintenance Linux >Comment remplacer par lots le contenu d'un fichier sous Linux

Comment remplacer par lots le contenu d'un fichier sous Linux

WBOY
WBOYoriginal
2022-03-11 15:10:3220377parcourir

Méthode : 1. Utilisez la commande perl, la syntaxe est "find -name'file name'|xargs perl-pi-e 's|Original content|New content|g'" 2. Utilisez la commande sed, le la syntaxe est "sed -i "s/original content/new content/g" `grep original content-rl directory`".

Comment remplacer par lots le contenu d'un fichier sous Linux

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Comment remplacer par lots le contenu d'un fichier sous Linux

Méthode 1

Utilisez Perl, la commande est la suivante :

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

L'exemple suivant consiste à remplacer le ”http dans tous les fichiers pom.xml du le répertoire actuel et tous les sous-répertoires ://repo1.maven.org/maven2“ sont remplacés par ”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'

Le langage Perl est utilisé ici,

perl -pi -e Ajoutez l'option -e à une commande Perl, suivie d'une ligne de code, et il exécutera le code comme un script Perl normal

Utiliser Perl à partir de la ligne de commande. aider à réaliser une conversion puissante en temps réel. Étudier attentivement les expressions régulières et les utiliser correctement vous évitera beaucoup de travail d'édition manuelle.

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

Méthode 2

Utilisez la commande sed comme suit :

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

Une méthode simple pour remplacer par lots des chaînes dans plusieurs fichiers sous Linux. Utilisez la commande sed pour remplacer par lots des chaînes dans plusieurs fichiers.

Par exemple : je souhaite remplacer mahuinan par huinanma, exécutez la commande :

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

Il s'agit actuellement de la commande de chaîne de remplacement par lots la plus simple sous Linux !

Le format spécifique est le suivant :

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

Exemple de code :

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

Recommandations associées : "Tutoriel vidéo Linux"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn