Bonjour,
Je cherche à extraire un mot contenu dans un fichier.
Quand on édite mon fichier, il ressemble à ça :
===========================================================================
unit_phys_loc=U787B.001.DNW2674,bus_id=2,phys_loc=T16,drc_index=21020002,lpar_name=XD002,lpar_id=2,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=U787B.001.DNW2674-P1-T16
=============================================================================
Je cherche donc à extraire dans une variable le mot en rouge XD002.
Voici ce que j'ai écrit ( inspiré il est vrai par minusplus... )
#!/bin/ksh
MOT=$(perl -w -p -e '/(XD\S)/ and $_=$1;' mon_file)
echo " la machine est $MOT "
Dans ce cas de figure, mon echo me renvoie XD0
et si j'écris :
MOT=$(perl -w -p -e '/(XD\S+)/ and $_=$1;' mon_file)
mon echo me renvoie :
la machine est XD002,lpar_id=2,slot_io_pool_id=none,description=Other
Quelqu'un aurait une idée pour que je ne ressorte que XD002
Merci