![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Shell Vos questions sur l'utilisation des commandes shell |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) | |
|
Invité de passage
![]() Date d'inscription: août 2008
Localisation: Evreux
Messages: 6
|
Bonjour,
Je reçois des fichiers à plats (txt) contenant des infos qui peuvent sembler redondantes J'ai besoins d'extraire une seule partie du fichier par colonne une fois effectué je souhaite faire un contrôle d'exhaustivité concernant cette fameuse colonne Extrait du fichier Code :
"20080809";"20080804";"20080808";"000";"EXTERNE";"ED ";"TP ";"1S"; 8; 00000,00; 00000; 00000 "20080809";"20080804";"20080808";"000";"EXTERNE";"ED ";"TP ";"1S"; 9; 00000,00; 00000; 00000 "20080809";"20080804";"20080808";"000";"EXTERNE";"ED ";"TP ";"1S"; 10; 00000,00; 00000; 00000 "20080809";"20080804";"20080808";"000";"EXTERNE";"ED ";"TP ";"2F"; 1; 00000,00; 00000; 00000 "20080809";"20080804";"20080808";"000";"EXTERNE";"ED ";"TP ";"2F"; 2; 00000,00; 00000; 00000 "20080809";"20080804";"20080808";"000";"EXTERNE";"ED ";"TP ";"2F"; 3; 00000,00; 00000; 00000 "20080809";"20080804";"20080808";"000";"EXTERNE";"ED ";"TP ";"2F"; 4; 00000,00; 00000; 00000 "20080809";"20080804";"20080808";"000";"EXTERNE";"ED ";"TP ";"2F"; 5; 00000,00; 00000; 00000 et puis je ne maitrise pas trop ce genre de programmation En gros je souhaiterais pouvoir ressortir les valeur en 8ieme colonne et de les affiché en distinct (c'est a dire que si j'ai 10 fois 2F, il ne m'en affiche qu'un et le mieux si possible à coté son nombre) Citation:
je vous remercie par avance à tous de l'aide que vous m'apporterez ! |
|
|
|
|
|
|
#2 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: mars 2007
Localisation: Toulouse
Messages: 471
|
Je te laisse peaufiner le reste
http://www.shellunix.com/awk.html http://lea-linux.org/cached/index/Dev-awk.html Script : Code :
sort -t";" -k8,8 -o test_trie.txt test.txt
cat test_trie.txt
awk -F";" '
BEGIN {
Precedent=""
}
{
if ( $8 == Precedent ) {
incr++
next
}
if ( Precedent != "" ) {
print Precedent, incr
}
Precedent=$8
incr=1
}
END {
print Precedent, incr
} ' test_trie.txt
Code :
"2F" 1 "1S" 3 "2F" 4
__________________
Loi de Murphy: La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi. La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi. |
|
|
|
|
|
#3 (permalink) |
|
Invité de passage
![]() Date d'inscription: août 2008
Localisation: Evreux
Messages: 6
|
Merci pour ce petit shell !!
Je n'avais pas pensé à utiliser "sort" afin de trier le contenu de mon fichier. En fait si mais avec excel Merci encore ... je l'adapte à mes besoins exacte. |
|
|
|
|
|
#4 (permalink) |
|
Invité de passage
![]() Date d'inscription: août 2008
Localisation: Evreux
Messages: 6
|
re bonjour
je continue ma demande ... comme je suis une bille en développement, je sais lire des script les modifier... mais pas les créer ! Je souhaiterais ajouter une conditions sur le nombre de fois que la sélection sort Code :
"1S" 3 "2F" 4 merci encore ****************************************************** j'ai trouvé ma solution : j'envoi le tout dans un fichier et je traite ce fichier avec un deuxieme awk et sa condiftion ... voila Dernière modification par le_campeur ; 18/08/2008 à 16h24 |
|
|
|
|
|
#5 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: mars 2007
Localisation: Toulouse
Messages: 471
|
Ça doit le faire
http://www.delorie.com/gnu/docs/gawk/gawk.1.html Code :
.../...
if ( Precedent != "" ) {
if (incr < 5) {
print Precedent, incr
}
}
.../...
__________________
Loi de Murphy: La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi. La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi. |
|
|
|
|
![]() |
![]() |
||
Extraction pour controle
|
||
| Outils de la discussion | |
|
|