[Korn Shell] Commande UNIQ
Résolu
cilv1
-
cilv1 -
cilv1 -
Bonjour à tous,
Je travaille sur un système AIX 4.3 et je suis en train d'écrire un script en Korn Shell (KSH) afin de nettoyer un fichier susceptible de contenir les lignes suivantes :
ES.PREVCT.M.ENV.0.D20080326.H220000.csv_20080326_110800
ES.PREVCT.J.ENV.0.D20080326.H220000.csv_20080326_085700
ES.PREVCT.J.ENV.0.D20080325.H220000.csv_20080325_144200
ES.PREVCT.J.ENV.0.D20080325.H220000.csv_20080325_144100
ES.PREVCT.J.ENV.0.D20080325.H220000.csv_20080325_143700
ES.PREVCT.J.ENV.0.D20080325.H220000.csv_20080325_142100
En gros, je souhaite supprimer les lignes dont le texte délimité en gras est répété.
Pour l'exemple ci-dessus, le résultat attendu est le suivant :
ES.PREVCT.M.ENV.0.D20080326.H220000.csv_20080326_110800
ES.PREVCT.J.ENV.0.D20080326.H220000.csv_20080326_085700
Je sais déjà comment trier les lignes (commande SORT), mais je reconnais que je galère un peu avec la commande UNIQ.
Pour info, voici comment est implémentée la commande UNIQ sur ma machine :
Usage: uniq [-c | -d | -u] [-f Fields] [-s Chars] [-Fields] [+Chars] [Input_file [Output_file]]
Merci d'avance pour votre aide.
ps : si jipicy tu es dans le coin je sais que tu as sûrement la bonne réponse ;-))
Je travaille sur un système AIX 4.3 et je suis en train d'écrire un script en Korn Shell (KSH) afin de nettoyer un fichier susceptible de contenir les lignes suivantes :
ES.PREVCT.M.ENV.0.D20080326.H220000.csv_20080326_110800
ES.PREVCT.J.ENV.0.D20080326.H220000.csv_20080326_085700
ES.PREVCT.J.ENV.0.D20080325.H220000.csv_20080325_144200
ES.PREVCT.J.ENV.0.D20080325.H220000.csv_20080325_144100
ES.PREVCT.J.ENV.0.D20080325.H220000.csv_20080325_143700
ES.PREVCT.J.ENV.0.D20080325.H220000.csv_20080325_142100
En gros, je souhaite supprimer les lignes dont le texte délimité en gras est répété.
Pour l'exemple ci-dessus, le résultat attendu est le suivant :
ES.PREVCT.M.ENV.0.D20080326.H220000.csv_20080326_110800
ES.PREVCT.J.ENV.0.D20080326.H220000.csv_20080326_085700
Je sais déjà comment trier les lignes (commande SORT), mais je reconnais que je galère un peu avec la commande UNIQ.
Pour info, voici comment est implémentée la commande UNIQ sur ma machine :
Usage: uniq [-c | -d | -u] [-f Fields] [-s Chars] [-Fields] [+Chars] [Input_file [Output_file]]
Merci d'avance pour votre aide.
ps : si jipicy tu es dans le coin je sais que tu as sûrement la bonne réponse ;-))
A voir également:
- [Korn Shell] Commande UNIQ
- Invite de commande - Guide
- Classic shell - Télécharger - Personnalisation
- Commande terminal mac - Guide
- Commande dism - Guide
- Diskpart commande - Guide
1 réponse
Salut,
Avec "sort" et l'option -u (uniq) ça devrait le faire :
Avec "sort" et l'option -u (uniq) ça devrait le faire :
[tmpfs]$ cat plop ES.PREVCT.M.ENV.0.D20080326.H220000.csv_20080326_110800 ES.PREVCT.J.ENV.0.D20080326.H220000.csv_20080326_085700 ES.PREVCT.J.ENV.0.D20080325.H220000.csv_20080325_144200 ES.PREVCT.J.ENV.0.D20080325.H220000.csv_20080325_144100 ES.PREVCT.J.ENV.0.D20080325.H220000.csv_20080325_143700 ES.PREVCT.J.ENV.0.D20080325.H220000.csv_20080325_142100 [tmpfs]$ sort -t "_" -k 1,1 -u plop ES.PREVCT.J.ENV.0.D20080325.H220000.csv_20080325_144200 ES.PREVCT.J.ENV.0.D20080326.H220000.csv_20080326_085700 ES.PREVCT.M.ENV.0.D20080326.H220000.csv_20080326_110800 [tmpfs]$Ah oui, c'est pas 2 lignes uniques, mais 3 qu'il reste ;-))
Merci encore et bonne continuation :-))