Extraction sous linux (2)
Résolu
Utilisateur anonyme
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
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>
<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.
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:
- Extraction sous linux (2)
- Supercopier 2 - Télécharger - Gestion de fichiers
- Linux reader - Télécharger - Stockage
- 2 ecran pc - Guide
- Linux mint 22.1 - Accueil - Linux
- Télécharger linux mint - Télécharger - Systèmes d'exploitation
3 réponses
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 :
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;-))
[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]$;-))