J'ai du texte dans VI:
NC_004718 NC_045512 NC_004718 NC_045512 NC_004718
3 Réponses :
Par exemple,
:g/NC_\d\+/normal! ygnV]p
: g / regex / code> pour correspondre aux lignes li>
-
normal! code> pour exécuter les commandes de mode normales li>
-
YGN code> pour yank le texte précédemment correspondant par : g code> li>
-
v code> pour sélectionner la ligne entière li>
-
] p code> ou p code> pour remplacer la ligne avec le match li>
ul> p> J'ai testé cela avec l'exemple de texte - et il a supprimé tout le texte.
Je recommanderais d'utiliser une substitution avec une expression régulière pour correspondre à la chaîne entière et capturer ce que vous souhaitez conserver entre parenthèses. De cette façon, vous pouvez ensuite remplacer la chaîne entière avec juste la correspondance.
:%s/^|\([^|]\+\)|.\+/\1/
Si vous n'avez que des lignes comme celles que vous avez montrées, essayez:
:%norm xf|D