j'ai un fichier qui ressemble àBash - Supprimer les doublons préserver l'ordre
1254543534523233434
3453453454323233434
2342342343223233535
0909909092324243535
est-il un moyen/commande en bash pour supprimer les doublons sur le fichier ci-dessus, sur la base d'une sous-chaîne spécifique, sans changer leur ordre le résultat?
-à-dire
(avec sous-chaîne -> $ {ligne: 11: 8}
1254543534523233434
2342342343223233535
0909909092324243535
Je sais que:
sort -u : sorts them numerically, then removes duplicates
sort -kx,x -u : The same
cat filein | uniq : requires them to be sorted already or it will not work
J'essaie de savoir s'il y a un natif solution linux sans avoir à résoudre le code perl pour cela.Merci à l'avance
Ce n'est pas une copie exacte. Il a la contrainte supplémentaire de comparer des lignes basées uniquement sur une sous-chaîne, mais en imprimant la ligne complète. Cependant, la [réponse] (http://stackoverflow.com/questions/1444406/how-can-i-delete-duplicate-lines-in-a-file-in-unix) devrait être facilement extensible à 'awk ' ! seen [substr ($ 0, 11, 8)] ++ 'fichier.txt'. –