Maison  >  Article  >  Opération et maintenance  >  Quelle est la commande de remplacement Linux ?

Quelle est la commande de remplacement Linux ?

WBOY
WBOYoriginal
2022-01-27 14:28:2825674parcourir

Commande de remplacement Linux : 1. Utilisez la commande ":s/original content/replacement content/" dans vim pour remplacer le contenu ; 2. Utilisez sed avec grep pour remplacer le contenu ; 3. Utilisez "find -name file name | La commande xargs perl - pi -e 's|original content|replacement content|g'" remplace le contenu.

Quelle est la commande de remplacement Linux ?

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

Quelle est la commande de remplacement Linux

1. Remplacer via l'éditeur vim

Vous pouvez utiliser la commande :s pour remplacer des chaînes dans vi/vim.

:s/well/good/ Remplacez le premier puits de la ligne actuelle par good

:s/well/good/g Remplacez tous les puits de la ligne actuelle par good

:n,$s/well/good/ Remplacez le nième puits Le premier puits de chaque ligne du début à la dernière ligne est bon

:n,$s/well/good/g Remplacez tous les puits de chaque ligne de la nième ligne à la dernière ligne par le bon n est un nombre, si n vaut ., c'est-à-dire du début de la ligne courante à la dernière ligne

:%s/well/good/ (équivalent à : g/well/s//good/) remplace le premier puits de chaque ligne par good

 :%s/ well/good/g (équivalent à : g/well/s//good/g) Remplacez all well dans chaque ligne par good Vous pouvez utiliser # comme séparateur dans ce cas. , le / apparaissant au milieu ne servira pas de séparateur

:s #well/#good/# Remplacez le premier puits/ de la ligne actuelle par good/

:%s#/usr/bin#/bin #g. Vous pouvez remplacer tous les chemins /usr/bin dans le fichier par /bin

2. La combinaison de sed et grep

sed -i s/yyyy/xxxx/g `grep yyyy -rl --include="*.txt" ./`

Fonction : Remplacez la chaîne yyyy dans tous les fichiers txt du répertoire actuel (y compris les sous-répertoires ) avec la chaîne xxxx. Parmi eux,

-i signifie que le fichier est en cours d'exploitation, et la commande grep entourée de `` signifie que le résultat de la commande grep est utilisé comme fichier d'exploitation.

s/yyyy/xxxx/ signifie rechercher yyyy et le remplacer par xxxx, suivi de g signifie que lorsqu'il y a plusieurs yyyy dans une ligne, remplacez-les tous au lieu de simplement remplacer le premier

De plus, si vous pas besoin de rechercher des sous-répertoires, il vous suffit de les remplacer dans le répertoire actuel, utilisez simplement la commande sed La commande est la suivante : sed -i s/xxxx/yyyy/g ./*.txt

3.find. commande pour rechercher et remplacer

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

#Rechercher et remplacer dans le répertoire courant Contient des chaînes et les remplace

find -name '*.txt' .html' |

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