Traiter un fichier txt ligne par ligne
Résolu/Fermé
GHISLINO
Messages postés
214
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
8 décembre 2023
-
26 juil. 2011 à 05:05
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023 - 12 oct. 2011 à 04:20
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023 - 12 oct. 2011 à 04:20
A voir également:
- Traiter un fichier txt ligne par ligne
- Fichier rar - Guide
- Aller à la ligne excel - Guide
- Apparaitre hors ligne instagram - Guide
- Vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
4 réponses
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
130
26 juil. 2011 à 10:53
26 juil. 2011 à 10:53
bjr
c'est facile à faire en Python que je connais, mais si c'est en shell que tu veux le faire, je ne peux pas aider
c'est facile à faire en Python que je connais, mais si c'est en shell que tu veux le faire, je ne peux pas aider
GHISLINO
Messages postés
214
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
8 décembre 2023
9 oct. 2011 à 09:56
9 oct. 2011 à 09:56
bonjour
j'ai pu trouver quelque chose
#!/bin/bash
#
#
cut -d '"' -f6,10,12,16 micra.txt > micra1.txt # cette ligne recupere les champs dont j'ai besoin dans fichier source
grep "DUEKOUE_2" micra1.txt? > final.txt # cette ligne recherche un nom specifique et copie toute les lignes qui contienent ce critere
nl final.txt? > final2.txt # ce code numerote les lignes du fichier obtenu
MES PROBLEMES SONT :
J'ai plusieurs critere a rechercher donc je voudrais les passer en argument pour chaque critere donc j ai cree un fichier .conf ou j 'ai liste tous mes arguments
exemple du fichier .conf
DUEKOUE_2;
SAKAOUO;
etc ..
je veux que mon script puisse venir chercher l'argument dans ce fichier et lire le fichier intial et copier les lignes qui comporte ce critere si l'occurence de ce dernier est superieur ou egal 30.
NB: pour chaque argument creer un nouveau fichier.
pourvoir passer chaque fichier créé en argument pour pourvoir numéroté chaque ligne
merci d avance pour vos reponses.
cdlt.
j'ai pu trouver quelque chose
#!/bin/bash
#
#
cut -d '"' -f6,10,12,16 micra.txt > micra1.txt # cette ligne recupere les champs dont j'ai besoin dans fichier source
grep "DUEKOUE_2" micra1.txt? > final.txt # cette ligne recherche un nom specifique et copie toute les lignes qui contienent ce critere
nl final.txt? > final2.txt # ce code numerote les lignes du fichier obtenu
MES PROBLEMES SONT :
J'ai plusieurs critere a rechercher donc je voudrais les passer en argument pour chaque critere donc j ai cree un fichier .conf ou j 'ai liste tous mes arguments
exemple du fichier .conf
DUEKOUE_2;
SAKAOUO;
etc ..
je veux que mon script puisse venir chercher l'argument dans ce fichier et lire le fichier intial et copier les lignes qui comporte ce critere si l'occurence de ce dernier est superieur ou egal 30.
NB: pour chaque argument creer un nouveau fichier.
pourvoir passer chaque fichier créé en argument pour pourvoir numéroté chaque ligne
merci d avance pour vos reponses.
cdlt.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
9 oct. 2011 à 10:34
9 oct. 2011 à 10:34
Salut,
Regarde la page de man de grep de plus près, notamment les options "-v, -c, -o) et intéresses-toi à fgrep (ou grep -F), avec ça tu devrais bien t'en sortir.
Sinon jette un oeil à "awk" qui devrait être parfait pour ton exercice ;-))
Regarde la page de man de grep de plus près, notamment les options "-v, -c, -o) et intéresses-toi à fgrep (ou grep -F), avec ça tu devrais bien t'en sortir.
Sinon jette un oeil à "awk" qui devrait être parfait pour ton exercice ;-))
GHISLINO
Messages postés
214
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
8 décembre 2023
12 oct. 2011 à 04:20
12 oct. 2011 à 04:20
bonjour
juste pour vous informer que j ai resolu mon probleme a force patience et de recherche
trouver ci dessous mon code je peux cocher resolu
#!/bin/bash
#
# Written by bangouame koissi ghislain - 11 oct. 2011 a 02:01
#
FICH=micra1
for btsx in $(cat fichierBTS.conf); do
bts=$(echo $btsx|cut -d';' -f1)
i=$(echo $btsx | grep -c $bts $FICH)
echo "***********************************************"
echo $bts "-->"
echo $i
if test $i -ge 30;
then
grep $bts $FICH | cut -d'"' -f 1,2,3,4 > $bts
else
echo "Pas de probleme !!!!"
fi
echo "\n***********************************************"
done
juste pour vous informer que j ai resolu mon probleme a force patience et de recherche
trouver ci dessous mon code je peux cocher resolu
#!/bin/bash
#
# Written by bangouame koissi ghislain - 11 oct. 2011 a 02:01
#
FICH=micra1
for btsx in $(cat fichierBTS.conf); do
bts=$(echo $btsx|cut -d';' -f1)
i=$(echo $btsx | grep -c $bts $FICH)
echo "***********************************************"
echo $bts "-->"
echo $i
if test $i -ge 30;
then
grep $bts $FICH | cut -d'"' -f 1,2,3,4 > $bts
else
echo "Pas de probleme !!!!"
fi
echo "\n***********************************************"
done