Maison > Questions et réponses > le corps du texte
Il y a un texte comme celui-ci
As of initscripts-2012.07.5, the default format of /etc/rc.conf and
/etc/crypttab have changed. See their respective man pages for
more details.
--BEGIN--
The purpose of this change is to unify the configuration of systemd
and initscripts. This will allow us to share code and documentation,
and should make maintenance of initscripts simpler in the long-run.
--END--
The old format is still supported, so old config files should still
work unchanged.
J'espère pouvoir supprimer toutes les lignes entre --BEGIN--
--END--
Existe-t-il une méthode directe dans vim ?
Une autre question supplémentaire est de savoir comment ajouter un élément de contenu alors qu'il y a déjà une marque --BEGIN--
.
Ceux ci-dessus espèrent tous traiter les fichiers texte de manière scriptée.
Juste un exemple, le nombre de lignes entre --BEGIN--, --END-- est incertain
Le marquer manuellement est un peu laborieux. Le fichier lui-même n'est pas petit et a une structure similaire
.
Plus.
ringa_lee2017-05-16 16:43:00
:g/--BEGIN--/,/--END--/d
如果要同时删除前后的空行:g/--BEGIN--/-1,/--END--/+1d
怪我咯2017-05-16 16:43:00
vim peut le faire,
En mode commande :
%s/--BEGIN--\_.*--END--//g
Le _ est la clé, cela peut correspondre à plusieurs lignes.
Il existe déjà un moyen de remplacer le logo --BEGIN--. Cela peut également être fait en utilisant l'idée de remplacement ci-dessus
.
:%s/^--BEGIN--/&Contenu à remplacer/g
PHP中文网2017-05-16 16:43:00
Déplacez le curseur au début
Esc v pour passer en mode affichage
j Faites défiler vers le bas pour sélectionner la partie opérationnelle
d Supprimer x Couper Les deux sont OK
phpcn_u15822017-05-16 16:43:00
Puisque vous voulez le scripter, utilisez simplement sed :
sed -i '/--BEGIN--/,/--END--/d' files_to_modify