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.
Jaimerai que la recherche sarrête à la fin de la 2ieme ligne de mon fichier mais je ne trouve pas les arguments.
Quelquun pour maider ??
Merci