Comment puis-je supprimer les 5 premiers caractères de chaque ligne d'un fichier texte?
J'ai un fichier comme celui-ci:
4 Alabama
4 Alaska
4 Arizona
4 Arkansas
4 California
54 Can
8 Carolina
4 Colorado
4 Connecticut
8 Dakota
4 Delaware
97 Do
4 Florida
4 Hampshire
47 Have
4 Hawaii
J'aimerais supprimer le nombre et l'espace au début de chaque ligne de mon fichier txt.
:%s/^.\{0,5\}//
devrait faire l'affaire. Il gère également les cas où il y a moins de 5 caractères.
Utilisez l'expression régulière ^.....
pour faire correspondre les 5 premiers caractères de chaque ligne. utilisez-le dans une substitution globale:
:%s/^.....//
Puisque le texte ressemble à des données en colonnes, awk serait généralement utile. J'utiliserais V
pour sélectionner les lignes, puis cliquerais sur :!
et utiliserais awk:
:'<,'>! awk '{ print $2 }'
imprimer la deuxième colonne des données. Vous évite de compter les espaces complètement.
Essayer
:s/^.....//
Vous n'avez probablement pas besoin du "^" (début de ligne), et il y aurait des raccourcis pour les 5 caractères - mais simple, c'est bien :)
Toutes les lignes étant alignées, vous n'avez pas besoin d'une substitution pour résoudre ce problème . Amenez simplement le curseur en haut à gauche (gg), puis:
:%s/^.\{0,5\}//g
pour global, puisque nous voulons supprimer les 5 premières colonnes de chaque ligne pour chaque ligne.