Maison >Opération et maintenance >exploitation et maintenance Linux >Comment remplacer par lots le contenu d'un fichier sous Linux
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`".
L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.
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!