Celle-là elle est facile me diront certains mais bon c’est parfois utile de le rappeler. Awk est un outil bien pratique pas toujours plus court que les autres mais tellement facile à pipper.
Comment supprimer les lignes en doublons d’un fichier ? qu’elles soient à la suite ou non d’ailleurs.
Autant qu’en bash si on utilise le binaire sort cela va vite avec cat monfichier | sort -u … mais avec awk on peut se creuser la tête.
Voici donc la solution :
awk '! a[$0]++' fichier.txt
Donc on créé un tableau (array) avec pour clé $0 soit le contenu de la ligne. Et on affiche le contenu dès lors que la ligne suivante est différente (on incrémente de 1 avec le ++.
En un peu plus long il y avait :
awk '!($0 in a) {a[$0];print}' fichier.txt
Que dire de plus plus ? pas grand chose car le but est de faire court.