Accueil > Astuces, Awk, Script > Supprimer les doublons en préservant l’ordre avec awk

Supprimer les doublons en préservant l’ordre avec awk

Une petite astuce pour les geek’s afin de supprimer les doublons dans un fichier en préservant l’ordre des résultats avec l’outil awk.

Exemple avant :

$ cat /home/user/test
sudo /etc/init.d/fail2ban restart
sudo apache2ctl restart
sudo postsuper -d ALL deferred
ps aux | cat
sudo apache2ctl restart
sudo /etc/init.d/fail2ban restart
sudo apache2ctl restart

Résultat après :

$ awk ‘ !x[$0]++’ /home/user/test
sudo /etc/init.d/fail2ban restart
sudo postsuper -d ALL deferred
ps aux | cat
sudo apache2ctl restart

Plus aucun doublons dans le fichier.
Pratique pour nettoyer son fichier .bash_history qui contient l’historique des commandes de votre console.

awk ‘ !x[$0]++’ /home/user/.bash_history

Pour enregistrer le résultat dans un fichier /home/user/bash_history

awk ‘ !x[$0]++’ /home/user/.bash_history >>/home/user/bash_history

PS: n’oublier pas de remplacer user par le votre.


Je vous recommande aussi la lecture des sujets suivants:

Catégories:Astuces, Awk, Script
  1. Pas encore de commentaire
  1. Pas encore de trackbacks