Ajouter un pattern dans mon script AWK
Résolu
GHISLINO
Messages postés
214
Date d'inscription
Statut
Membre
Dernière intervention
-
GHISLINO Messages postés 214 Date d'inscription Statut Membre Dernière intervention -
GHISLINO Messages postés 214 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un script AWK pour extraire des données dans un fichier XML et je souhaiterais ajouté une commande qui me permettra de faire sortir un élément dans le output
le script
monfichierXML
j'obtiens normalement
et je souhaiterais avoir l'output ci-dessous avec mon code AWK
Merci d'avance
j'ai un script AWK pour extraire des données dans un fichier XML et je souhaiterais ajouté une commande qui me permettra de faire sortir un élément dans le output
le script
awk -F "[<>]" '/<p name="inventoryUnitType">/ {UT=$3} /<p name="serialNumber">/ {SN=$3} /<\/managedObject>/ {print UT ";" SN}' monfichierXML
monfichierXML
<managedObject class="RMOD" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1/RMOD-1" id="4460207">
<p name="inventoryUnitType">FHEB</p>
<p name="serialNumber">1M171100064</p>
<p name="vendorName">N</p>
<p name="vendorUnitFamilyType">RRH2.3</p>
<p name="vendorUnitTypeNumber">47</p>
<p name="versionNumber">103</p>
</managedObject>
<managedObject class="RMOD" version="HW1.0" distName="PLMN-PLMN/MRBTS-20732/HW-1/RMOD-2" id="4525297">
<p name="inventoryUnitType">FRMF</p>
<p name="serialNumber">F7181230100</p>
<p name="vendorName">N</p>
<p name="vendorUnitFamilyType">R3.2</p>
<p name="vendorUnitTypeNumber">47</p>
<p name="versionNumber">102</p>
</managedObject>
j'obtiens normalement
FHEB ; 1M171100064
FRMF ; F7181230100
et je souhaiterais avoir l'output ci-dessous avec mon code AWK
MRBTS-22111 ; FHEB ; 1M171100064
MRBTS-20732 ; FRMF ; F7181230100
Merci d'avance
Configuration: Windows / Chrome 81.0.4044.138
A voir également:
- Ajouter un pattern dans mon script AWK
- Script vidéo youtube - Guide
- Ajouter un profil netflix payant - Accueil - Guide streaming
- Ajouter agenda outlook dans google agenda - Guide
- Impossible d'ajouter un ami sur facebook - Guide
- Ajouter un compte whatsapp - Guide
6 réponses
hello
$ awk -F "[<>]" '/<managed/ {split($0, a, "/")} /<p name="inventoryUnitType">/ {UT=$3} /<p name="serialNumber">/ {SN=$3} /<\/managedObject>/ {print a[2] ";" UT ";" SN}' monfichierXML
MRBTS-22111;FHEB;1M171100064
MRBTS-20732;FRMF;F7181230100
Bonjour Dubcek,
Merci pour ton retour malheureusement quand j'applique le code à fichier Global j'ai des doublon de Serial number,
ça peut-être du à quoi STP?
ci-dessous mon fichier global:
Merci pour ton retour malheureusement quand j'applique le code à fichier Global j'ai des doublon de Serial number,
ça peut-être du à quoi STP?
ci-dessous mon fichier global:
<?xml version="1.0" encoding="UTF-8"?> <Inventory> <dateTime>202005101654+0000</dateTime> <InventoryUnitNE neType="MRBTS">PLMN-PLMN/MRBTS-22111</InventoryUnitNE> <InventoryUnitHw> <managedObject class="HW" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1" id="4460205"> <p name="swVersion">fffggg</p> <p name="userLabel">ffff</p> <p name="vendorName">N</p> </managedObject> <managedObject class="RMOD" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1/RMOD-1" id="4460207"> <p name="inventoryUnitType">FHEB</p> <p name="serialNumber">1M171100064</p> <p name="vendorName">N</p> <p name="vendorUnitFamilyType">RRH2.3</p> <p name="vendorUnitTypeNumber">4</p> <p name="versionNumber">103</p> </managedObject> <managedObject class="RMOD" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1/RMOD-2" id="4460210"> <p name="inventoryUnitType">FRMB</p> <p name="serialNumber">EA175062586</p> <p name="vendorName">N</p> <p name="vendorUnitFamilyType">RRH2.1</p> <p name="vendorUnitTypeNumber">4</p> <p name="versionNumber">105</p> </managedObject> <managedObject class="RMOD" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1/RMOD-3" id="4460209"> <p name="inventoryUnitType">FHEB</p> <p name="serialNumber">1M171438556</p> <p name="vendorName">N</p> <p name="vendorUnitFamilyType">RRH2.3</p> <p name="vendorUnitTypeNumber">4</p> <p name="versionNumber">103</p> </managedObject> <managedObject class="RMOD" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1/RMOD-4" id="4460208"> <p name="inventoryUnitType">FHEB</p> <p name="serialNumber">1M171438522</p> <p name="vendorName">N</p> <p name="vendorUnitFamilyType">RRH2.3</p> <p name="vendorUnitTypeNumber">4</p> <p name="versionNumber">103</p> </managedObject> <managedObject class="RMOD" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1/RMOD-6" id="4460212"> <p name="inventoryUnitType">FRMB</p> <p name="serialNumber">EA180260898</p> <p name="vendorName">N</p> <p name="vendorUnitFamilyType">RRH2.1</p> <p name="vendorUnitTypeNumber">4</p> <p name="versionNumber">105</p> </managedObject> <managedObject class="RMOD" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1/RMOD-7" id="4460211"> <p name="inventoryUnitType">FRMB</p> <p name="serialNumber">EA175062584</p> <p name="vendorName">N</p> <p name="vendorUnitFamilyType">RRH2.1</p> <p name="vendorUnitTypeNumber">4</p> <p name="versionNumber">105</p> </managedObject> <managedObject class="CABINET" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1/CABINET-1" id="4460206"> <p name="serialNumber">AS181304226</p> </managedObject> <managedObject class="BBMOD" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1/CABINET-1/BBMOD-1" id="4460214"> <p name="inventoryUnitType">Flexi Baseband Sub-Module FBBC</p> <p name="serialNumber">AS183163789</p> <p name="vendorUnitTypeNumber">472797A.101</p> </managedObject> <managedObject class="BBMOD" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1/CABINET-1/BBMOD-2" id="4460215"> <p name="inventoryUnitType">Flexi Baseband Sub-Module FBBC</p> <p name="serialNumber">AS172530111</p> <p name="vendorUnitTypeNumber">4</p> </managedObject> <managedObject class="SMOD" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1/CABINET-1/SMOD-1" id="4460213"> <p name="inventoryUnitType">Flexi System Module Outdoor FSMF</p> <p name="serialNumber">AS181304226</p> <p name="vendorUnitTypeNumber">4</p> </managedObject> <managedObject class="SMOD_CORE" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1/CABINET-1/SMOD-1/SMOD_CORE-1" id="4460217"/> <managedObject class="FAN" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1/CABINET-1/SMOD-1/FAN-1" id="4460218"/> <managedObject class="FAN" version="HW1.0" distName="PLMN-PLMN/MRBTS-22111/HW-1/CABINET-1/SMOD-1/FAN-2" id="4460216"/> </InventoryUnitHw> <InventoryUnitSw> </InventoryUnitSw> <InventoryUnitLic> </InventoryUnitLic> </Inventory>
Hello Dubcek,
ci-dessous le résultat attendu pour le fichier Global, chaque unit type avec son Serial number en face.
Merci
ci-dessous le résultat attendu pour le fichier Global, chaque unit type avec son Serial number en face.
Merci
MRBTS-22111;FHEB;1M171100064 MRBTS-22111;FRMB;EA175062586 MRBTS-22111;FHEB;1M171438556 MRBTS-22111;FHEB;1M171438522 MRBTS-22111;FRMB;EA180260898 MRBTS-22111;FRMB;EA175062584 MRBTS-22111;Flexi Baseband Sub-Module FBBC;AS183163789 MRBTS-22111;Flexi Baseband Sub-Module FBBC;AS172530111 MRBTS-22111;Flexi System Module Outdoor FSMF;AS181304226
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question$ awk -F "[<>]" '/<managed/ {split($0, a, "/")} /<p name="inventoryUnitType">/ {UT=$3} /<p name="serialNumber">/ {SN=$3} /<\/managedObject>/ && UT {print a[2] ";" UT ";" SN; UT=""}' monfichierXML
MRBTS-22111;FHEB;1M171100064
MRBTS-22111;FRMB;EA175062586
MRBTS-22111;FHEB;1M171438556
MRBTS-22111;FHEB;1M171438522
MRBTS-22111;FRMB;EA180260898
MRBTS-22111;FRMB;EA175062584
MRBTS-22111;Flexi Baseband Sub-Module FBBC;AS183163789
MRBTS-22111;Flexi Baseband Sub-Module FBBC;AS172530111
MRBTS-22111;Flexi System Module Outdoor FSMF;AS181304226