Aide pour un script (decortication de fichier)

Aide pour un script (decortication de fichier) - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 28-04-2004 à 11:23:53    

Bonjour,
 
 
je besoin de vous ;)  
 
 
J'ai un fichier sous la forme:
 


HED;640340;MANN           ;;2004/000010100;EUR;1;;2004/000010100;;;20040415;0;;;;;;;;
DET;MANN  ;W712/22(10)         ;;FILTERELEMENT                           ;01700;STK;00000000000000,82000;;1;
DET;MANN  ;W75/3               ;;FILTERELEMENT                           ;00620;STK;00000000000002,27000;;1;
DET;MANN  ;W719/5(10)          ;;FILTERELEMENT                           ;01190;STK;00000000000001,48000;;1;
DET;MANN  ;W940/25(10)         ;;FILTERELEMENT                           ;00600;STK;00000000000001,99000;;1;
DET;MANN  ;W713/16             ;;FILTERELEMENT                           ;01280;STK;00000000000002,44000;;1;
DET;MANN  ;W719/27             ;;FILTERELEMENT                           ;00960;STK;00000000000001,87000;;1;


 
j'ai besoin de pouvoir remettre ce fichier dans un répertoire suivant: 640340 - 2004/000010100  
 
qui sont les deux numéros de la première ligne,
ce sont les deuxième et cinquième champs (les champs étant séparés par des virgules)...
 
Comment pouvoir récuper les champs ? Le pied serait de pouvoir dire  champ(1), champ(2), champ(x), ...
 
 
Vous me suivez?  
 
La c'est un peu trop dur pour moi, mais ce serait cool de pouvoir le faire...
 
merci de votre aide

Reply

Marsh Posté le 28-04-2004 à 11:23:53   

Reply

Marsh Posté le 28-04-2004 à 11:50:48    

man cut :)
exemple :


echo "HED;640340;MANN           ;;2004/000010100;EUR;1;;2004/000010100;;;20040415;0;;;;;;;;" | cut -d ';' -f 2
 
echo "HED;640340;MANN           ;;2004/000010100;EUR;1;;2004/000010100;;;20040415;0;;;;;;;;" | cut -d ';' -f 5
2004/000010100


 

Reply

Marsh Posté le 28-04-2004 à 13:31:49    

merciiiiii, c'est exactement ca,
 
 
maintenant, je ne veux par exemple que faire ca sur la première ligne du fichier et stocker la réponse dans une variable...
 
 
bon je cherche on sait jamais que je trouve avant que vous postiez la réponse :D

Reply

Marsh Posté le 28-04-2004 à 13:41:59    

déjà une réponse :)  
si le fichier ne fais qu'une ligne:
 
num=`cat ./nomdufichier | cut -d ';' -f 5`
 
:)
 
me reste encore a dire de ne faire un cat que de la première ou de la deuxième ligne du fichier :)

Reply

Marsh Posté le 29-04-2004 à 16:54:12    

man head
[fixed]$head -n 1 fichier
[fixed]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed