[ KSH ] Extraire un mot d'un fichier

Extraire un mot d'un fichier [ KSH ] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 05-12-2005 à 15:48:20    

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
 
 
 

Reply

Marsh Posté le 05-12-2005 à 15:48:20   

Reply

Marsh Posté le 05-12-2005 à 15:55:16    

Ben une regexp tout bete du style "name=(\W+)," devrait suffire, non ?


---------------
Fly you fool
Reply

Marsh Posté le 05-12-2005 à 15:55:49    

ben par exemple :  
 
/lpar_name=[^,]*/
 
 
 
edit: man perlretut, man perlre


Message édité par minusplus le 05-12-2005 à 15:57:05
Reply

Marsh Posté le 05-12-2005 à 16:06:34    

encore trop fort minusplus !!!!!
 
Je savais que tu allais me dire man perlre...
Mais j'ai pas le manuel perle sur ma bécane...autrement tu penses bien que je l'aurais fait ;o)

Reply

Marsh Posté le 05-12-2005 à 16:08:09    

Reply

Marsh Posté le 05-12-2005 à 16:10:54    

oups...
 
je m'incline

Reply

Marsh Posté le 05-12-2005 à 18:21:04    

Tu es sur que ce que tu veux ce n'est pas la commande "lparstat -i" (qui n'existe qu'en 5.3) ?

Reply

Marsh Posté le 05-12-2005 à 18:37:25    

non non je ne pense pas. En plus je suis en AIX 5.2
 
J'écris un script ( d'ailleurs il est fini... ) qui  :  
 
1. Découvre à quelle partition est attribué le lecteur CDROM ( envoie de commande à la HMC )
2. Découvre sur cette partition sur quelle pci est le lecteur CDROM
3. rm du pci
4. envoie d'une commande DLPAR à la HMC afin d'attribuer dynamiquement mon CDROM à une autre partition
5. cfgmgr et mount sur la partition cible.
 
Voilà

Reply

Sujets relatifs:

Leave a Replay

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