Vi est une commande puissante ligne éditeur de texte originaire d' Unix. Bien qu'il ne soit pas possible de supprimer des lignes en double de texte avec des commandes natives vi , il est possible de le faire en utilisant les commandes Unix natifs et des scripts shell dans l'éditeur . Choses que vous devez
Unix ou Linux
Voir Plus Instructions Instructions
1
faire une sauvegarde du fichier : . W doc.bkup
2
Si elle est acceptable pour trier les entrées dans le fichier texte , utilisez d'abord la commande de tri:
: 1 $ sort
Cette commande dit " utiliser l' Unix . commande de tri sur les lignes 1 à la fin du fichier "
3
Utilisez la commande Unix uniq pour supprimer les lignes dupliquées
. ! 1 , $ uniq
Cette commande dit " utilisez la commande Unix uniq à supprimer des lignes en double de la ligne 1 à la fin du fichier . " la commande uniq ne fonctionne que sur les lignes dupliquées qui sont adjacents les uns aux autres et n'ont pas de lignes vides entre eux.
4
Sachez que , si vous ne pouvez pas trier le fichier, vous devrez utiliser un script awk . Awk est un utilitaire de manipulation de texte Unix. Lorsqu'il est utilisé avec vi , il va effectuer des tâches avancées qui vi seul ne peut pas faire.
Copiez le script suivant dans un document texte et enregistrez-le sous le nom dup.sh dans le même répertoire que votre document texte. < Br >
# /bin /bashawk ' (0 $ en a) { a [$ 0]; print} '
Ce script dit " . trouver chaque ligne unique et l'imprimer "
< br > 5
partir de la ligne de commande Unix , rendre le script exécutable dup.sh avec la commande:
chmod + x dup.sh
6
supprimer les lignes dupliquées non consécutifs de à l'intérieur de vi avec la commande suivante:
: . 1 , $ /dup.sh
Cette commande indique « exécuter le script dup.sh de la ligne 1 à la fin du fichier . "
7
Enregistrez votre fichier avec la commande
: . w