[ KSH ] Problème de variable...

Problème de variable... [ KSH ] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 13-12-2005 à 09:06:26    

Bonjour,  
 
Je cherche à extraire un mot contenu dans un fichier nommé file.  
 
Quand on édite mon fichier, il ressemble à ça :  
 
================================================================================
 
unit_phys_loc=U7879.001.DQD0HKW,bus_id=3,phys_loc=T15,drc_index=21020003,lpar_name=XD004,lpar_id=1,slot_io_pool_id=none,descr
iption=Other Mass Storage Controller,feature_codes=none,pci_vendor_id=105A,pci_device_id=1275,pci_subs_vendor_id=105A,pci_sub
s_device_id=1275,pci_class=0180,pci_revision_id=01,bus_grouping=0,iop=0,parent_slot_drc_index=none,drc_name=U7879.001.DQD0HKW
-P1-T15
unit_phys_loc=U7879.001.DQD0HKZ,bus_id=12,phys_loc=T15,drc_index=2102000C,lpar_id=none,slot_io_pool_id=none,description=Other
 Mass Storage Controller,feature_codes=none,pci_vendor_id=105A,pci_device_id=1275,pci_subs_vendor_id=105A,pci_subs_device_id=
1275,pci_class=0180,pci_revision_id=01,bus_grouping=0,iop=0,parent_slot_drc_index=none,drc_name=U7879.001.DQD0HKZ-P1-T15
 
=====================================================================
 
Je cherche donc à extraire dans une variable la valeur en rouge de drc_index=.
 
Mon script :  
***************************************************
 
#!/bin/ksh
DRC=$(perl -w -p -e '/drc_index=([^,]*)/ and $_=$1;' file)
Echo “ mon drc est $DRC”
exit 0
 
***************************************************
 
Le résultat de cette commande :
 
$ mon drc est 210200032102000C
 
 
 
Comme mon fichier contient 2 drc_index, il me donne les 2 valeurs alors que je ne veux que la premiere.
 
J’aimerai que la recherche s’arrête à la fin de la 2ieme ligne de mon fichier mais je ne trouve pas les arguments.
 
Quelqu’un pour m’aider ??
 
Merci

Reply

Marsh Posté le 13-12-2005 à 09:06:26   

Reply

Marsh Posté le 13-12-2005 à 10:45:40    

bestialement :  
 
DRC=$(head -1 file | perl -w -p -e '/drc_index=([^,]*)/ and $_=$1;')

Reply

Marsh Posté le 13-12-2005 à 11:02:46    

Super ça marche impec
C'est peut être bestiale mais ça résoud mon probleme
 
Encore une fois merci minusplus

Reply

Sujets relatifs:

Leave a Replay

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