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.
Commentaires récents