supprimer tous les caractères après le modèle dans un fichier texte
J'ai un fichier texte avec des milliers de lignes de texte. Chaque ligne se termine comme
\\server\share\file.txt -> information
Je veux supprimer tout ce qui suit de l'espace après la fin de l'extension de fichier. Donc tout ce qui est après " ->" (il y a un espace après le premier devis)
Comment le feriez-vous? Je voudrais utiliser vim comme je suis en train d'essayer de comprendre plus à ce sujet, mais aucun programme n'; j'aimerais que ce soit fait rapidement.
Toujours les 3 parties de l'url?
Peut-être en mesure d'utiliser
Peut-être en mesure d'utiliser
(?!\.\w{2,3})(\s->\s\w+)$
pour trouver la fuite de texte, mais pas familier avec vim regex de quoi faire un "Exécuter la ligne" sorte de solution.OriginalL'auteur AaronJAnderson | 2011-04-26
Vous devez vous connecter pour publier un commentaire.
Votre description est contradictoire.
Ne voulez-vous garder la flèche ou pas?
1 est tout simplement accompli avec:
et, si vous voulait vraiment garder l'espace à l'avant de la flèche, comme vous l'avez dit, il serait:
2 peut être fait avec:
Si vous préférez afficher les résultats de votre recherche avant de le remplacer, vous pouvez construire votre recherche d'abord à l'aide de /:
Il mettra en évidence tous les résultats pour vous assurer de faire le remplacement de la chose. Vous pouvez ensuite exécuter la commande remplacer avec un vide en terme de recherche d'utiliser la dernière recherche (le trucs c'est en surbrillance).
\(
et\)
.Vous avez raison. J'ai dit deux choses différentes. Désolé à ce sujet. En tapant tout en écoutant quelqu'un jabber sur la bêtise de la police. :/
Qui a fonctionné à merveille. Merci!!!!
Benoit, vous avez raison. Ils étaient là, mais ils se sont abandonnés par le htmlizer et je ne l'ai pas remarqué. Merci.
OriginalL'auteur Tommi Kyntola
Si vous voulez garder la flèche:
Si vous voulez la supprimer:
OriginalL'auteur Benoit
Anticipation positif pourrait fonctionner, quelque chose comme
/(?= ->).*/
de match et en la remplaçant par de la vacuité.\@<=
. Exemple::%s/\( -> \)\@<=.*//
. Voir aussi:help /\@<=
.Super réponse! Je vous remercie.
OriginalL'auteur Ethan
À l'échelle mondiale remplacer
avec la chaîne vide
(Je suis en supposant que vous souhaitez supprimer le
->
même si vous avez dit "après".)OriginalL'auteur Tom
Ceci peut être facilement fait en utilisant le mode de découpage. Depuis vos lignes sont toutes les mêmes, et ont une flèche
->
signe, split, et d'obtenir le premier élémentRediriger vers un nouveau fichier si vous le souhaitez.
OriginalL'auteur ghostdog74