Petit coup de main en bash(lignes dupliquées)
Résolu/Fermé
Shaggy_2_Dope
Messages postés
376
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
31 juillet 2008
-
30 juil. 2008 à 16:44
Shaggy_2_Dope Messages postés 376 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 31 juillet 2008 - 31 juil. 2008 à 09:48
Shaggy_2_Dope Messages postés 376 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 31 juillet 2008 - 31 juil. 2008 à 09:48
A voir également:
- Petit coup de main en bash(lignes dupliquées)
- Site de vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
- En ligne sur instagram alors que non - Forum Instagram
- Coup d'un soir avis ✓ - Forum Consommation & Internet
- Afficher toutes les lignes masquées excel ✓ - Forum Excel
2 réponses
vignemail1
Messages postés
1246
Date d'inscription
vendredi 8 octobre 2004
Statut
Contributeur
Dernière intervention
13 septembre 2019
259
30 juil. 2008 à 16:49
30 juil. 2008 à 16:49
Un truc que tu peux faire, c'est faire une boucle qui met le plus petit en premier (CYS A 229 - CYS A 213 => CYS A 213 - CYS A 229) puis passé le résultat dans la commande unique qui supprime les doublons
Pour mettre le plus petit en premier, tu peux voir avec awk
Pour mettre le plus petit en premier, tu peux voir avec awk
Shaggy_2_Dope
Messages postés
376
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
31 juillet 2008
6
31 juil. 2008 à 09:48
31 juil. 2008 à 09:48
merci pour la piste vignemail1 ;)
J'ai procédé de la façon suivante (ce n'est pas la plus élégante je le conçois...) :
soit nb_cyx = nb de lignes dans le fichier ss.dat
for i in $(seq 1 ${nb_cyx});
do
sed -n "${i} p" ss.dat | awk '{print $3,$7}' | tr -s ' ' '\n ' | sort -n | tr -s '\n' ' ' >> ss.dat.tmp
echo ' ' >> ss.dat.tmp
done
cat ss.dat.tmp | awk '{if (x[$0] !="") next ; print $0; x[$0]=$0}' > ss.dat.reor
et voili :)
Shagg
J'ai procédé de la façon suivante (ce n'est pas la plus élégante je le conçois...) :
soit nb_cyx = nb de lignes dans le fichier ss.dat
for i in $(seq 1 ${nb_cyx});
do
sed -n "${i} p" ss.dat | awk '{print $3,$7}' | tr -s ' ' '\n ' | sort -n | tr -s '\n' ' ' >> ss.dat.tmp
echo ' ' >> ss.dat.tmp
done
cat ss.dat.tmp | awk '{if (x[$0] !="") next ; print $0; x[$0]=$0}' > ss.dat.reor
et voili :)
Shagg