Extraction sous linux (2)

Résolu/Fermé
Utilisateur anonyme - 2 juil. 2009 à 16:36
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 2 juil. 2009 à 18:08
Bonjour,

voila , j'ai un extrait du texte suivant :

<TEXTE_ITEM NULL="TRUE"/>
<TEXTE_ITEM>Tranche ferme : 208.42 EUR (H.T.) Le lot de sauvetage et 269.88 EUR (H.T.) Le lot echelle.</TEXTE_ITEM>
<TEXTE_ITEM NULL="TRUE"/>
<TEXTE_ITEM>Date d'attribution du marche : 14 decembre 2007</TEXTE_ITEM>
<TEXTE_ITEM NULL="TRUE"/>
<TEXTE_ITEM>Date d'envoi du present avis a la publication : 18 decembre 2007.</TEXTE_ITEM>
<TEXTE_ITEM NULL="TRUE"/>
</TEXTE>
<NOTA/>
<QUAL/>
<LIEU>
<LIEU_ITEM>
<TYPE>DEP</TYPE>
FR721

<DESCR>ALLIER</DESCR>
<DEP>03</DEP>
<NOMPAYS>FRANCE</NOMPAYS>
</LIEU_ITEM>
</LIEU>
</FICHE>


et je veux extraire toutes les lignes qui commencent par <DEP> et finissent par </DEP> et qui contiennent un chiffre entre ces deux mot , c'est à dire les lignes : <DEP>chiffre</DEP> (exemple : <DEP>03</DEP> qui est en gras et soulignée dans mon texte plus haut) pour qu'à la fin je puisse récuperer les numeros seulement qui sont entre <DEP> et </DEP>. j'ai fai un grep comme suit :

less /chemin1/chemin2/nom_mon_fichier|grep "^<DEP>"

il m'affiche aucune ligne ou il ya DEP mais il m'affiche ceci:

"/chemin1/chemin2/nom_mon_fichier" may be a binary file. See it anyway?


SVP, quelqu'un a une réponses. merci d'avance pour votre réponse.
A voir également:

3 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
2 juil. 2009 à 16:44
Salut,

Le problème vient du fait que la commande "less" interprète ton fichier comme étant un fichier contenant des valeurs binaires, et non des caractères "ascii", ce qui pourrait occasionner un affichage quelque peu bizarre.

Par contre concernant la commande, celle-ci serait peut être plus appropriée :
sed -n '\#^<DEP>[0-9]\+</DEP>#p' /chemin1/chemin2/nom_mon_fichier
;-))
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
2 juil. 2009 à 17:00
Et que renvoie :
cat /chemin1/chemin2/nom_mon_fichier 
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
2 juil. 2009 à 18:08
[tmpfs]$ cat tata
<TEXTE_ITEM NULL="TRUE"/>
<TEXTE_ITEM>Tranche ferme : 208.42 EUR (H.T.) Le lot de sauvetage et 269.88 EUR (H.T.) Le lot echelle.</TEXTE_ITEM>
<TEXTE_ITEM NULL="TRUE"/>
<TEXTE_ITEM>Date d'attribution du marche : 14 decembre 2007</TEXTE_ITEM>
<TEXTE_ITEM NULL="TRUE"/>
<TEXTE_ITEM>Date d'envoi du present avis a la publication : 18 decembre 2007.</TEXTE_ITEM>
<TEXTE_ITEM NULL="TRUE"/>
</TEXTE>
<NOTA/>
<QUAL/>
<LIEU>
<LIEU_ITEM>
<TYPE>DEP</TYPE>

FR721


<DESCR>ALLIER</DESCR>
<DEP>03</DEP>
<NOMPAYS>FRANCE</NOMPAYS>
</LIEU_ITEM>
</LIEU>
</FICHE>

[tmpfs]$ zip tata.gz tata
  adding: tata (deflated 49%)

[tmpfs]$ zcat tata.gz
<TEXTE_ITEM NULL="TRUE"/>
<TEXTE_ITEM>Tranche ferme : 208.42 EUR (H.T.) Le lot de sauvetage et 269.88 EUR (H.T.) Le lot echelle.</TEXTE_ITEM>
<TEXTE_ITEM NULL="TRUE"/>
<TEXTE_ITEM>Date d'attribution du marche : 14 decembre 2007</TEXTE_ITEM>
<TEXTE_ITEM NULL="TRUE"/>
<TEXTE_ITEM>Date d'envoi du present avis a la publication : 18 decembre 2007.</TEXTE_ITEM>
<TEXTE_ITEM NULL="TRUE"/>
</TEXTE>
<NOTA/>
<QUAL/>
<LIEU>
<LIEU_ITEM>
<TYPE>DEP</TYPE>

FR721


<DESCR>ALLIER</DESCR>
<DEP>03</DEP>
<NOMPAYS>FRANCE</NOMPAYS>
</LIEU_ITEM>
</LIEU>
</FICHE>

[tmpfs]$ zcat tata.gz | sed -n '\#^<DEP>[0-9]\+</DEP>#p'
<DEP>03</DEP>

[tmpfs]$ 
;-))
0