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.
L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.
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!