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
Libérer: 2022-03-23 09:24:04
original
20376 Les gens l'ont consulté

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'
Copier après la connexion

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'
Copier après la connexion

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'
Copier après la connexion

Méthode 2

Utilisez la commande sed comme suit :

sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`
Copier après la connexion

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'
Copier après la connexion

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`
Copier après la connexion

Exemple de code :

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

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal