Recherche dans liste fichier
Fermé
fabien.joubert
Messages postés
35
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
31 juillet 2008
-
3 juil. 2007 à 12:38
dubcek Messages postés 18744 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 septembre 2024 - 4 juil. 2007 à 13:36
dubcek Messages postés 18744 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 septembre 2024 - 4 juil. 2007 à 13:36
A voir également:
- Recherche dans liste fichier
- Liste déroulante excel - Guide
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Comment ouvrir un fichier epub ? - Guide
12 réponses
dubcek
Messages postés
18744
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
4 septembre 2024
5 617
3 juil. 2007 à 12:47
3 juil. 2007 à 12:47
Par exemple en précisant que la règle est en début de ligne et fini par un blanc
grep "^$regle "
grep "^$regle "
fabien.joubert
Messages postés
35
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
31 juillet 2008
14
3 juil. 2007 à 13:30
3 juil. 2007 à 13:30
Avec "^$regle "
quand j'exécute cette commande, mon fichier rules.txt est vide!
As tu une explication devant ça?
for regle in $(cat list_rules3.tmp)
do
ligne=$(grep "^$regle " list_rules.tmp)
echo $ligne >>rules.txt
done
quand j'exécute cette commande, mon fichier rules.txt est vide!
As tu une explication devant ça?
for regle in $(cat list_rules3.tmp)
do
ligne=$(grep "^$regle " list_rules.tmp)
echo $ligne >>rules.txt
done
dubcek
Messages postés
18744
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
4 septembre 2024
5 617
3 juil. 2007 à 13:37
3 juil. 2007 à 13:37
Est-ce que dans list_rules.tmp les élémets sont séparés par un blanc ou un tab ?
et manuellement : grep "^J+01LV[ <tab>]" list_rules.tmp
[ <tab>] contient [blanc tab]
et manuellement : grep "^J+01LV[ <tab>]" list_rules.tmp
[ <tab>] contient [blanc tab]
fabien.joubert
Messages postés
35
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
31 juillet 2008
14
3 juil. 2007 à 13:43
3 juil. 2007 à 13:43
je ne sais pas parce que je n'ai pas accès au code source de "fabrication" du fichier list_rules.tmp
mais en regardant sa structure j'aurais en vie de dire que c'est un tab
mais pourquoi qu'est ce que ca change de savoir ca?
mais en regardant sa structure j'aurais en vie de dire que c'est un tab
mais pourquoi qu'est ce que ca change de savoir ca?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dubcek
Messages postés
18744
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
4 septembre 2024
5 617
3 juil. 2007 à 13:51
3 juil. 2007 à 13:51
Pour voir si c'est un blanc ou un tab:
head -3 list_rules.tmp | od -c
si il y a \t c'est tab
rechercher un blanc ou un tab, ce n'est pas le même caractère.
head -3 list_rules.tmp | od -c
si il y a \t c'est tab
rechercher un blanc ou un tab, ce n'est pas le même caractère.
fabien.joubert
Messages postés
35
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
31 juillet 2008
14
3 juil. 2007 à 14:03
3 juil. 2007 à 14:03
voila ce que j'obtiens
je suppose alors que ce sont des espaces puisque je vois \n
0000000 4 S + 0 6 N N 1 e r s a
0000020 m e d i s u r 4 s e m a i
0000040 n e s
0000060 \n 4 S + 0 7 N N 1 e r
0000100 d i m a n c h e s u r 4
0000120 s e m a i n e s
0000140 \n 4 S + 1 3 N N
0000160 2 e m e s a m e d i s u r
0000200 4 s e m a i n e s
0000220 \n
0000231
je suppose alors que ce sont des espaces puisque je vois \n
0000000 4 S + 0 6 N N 1 e r s a
0000020 m e d i s u r 4 s e m a i
0000040 n e s
0000060 \n 4 S + 0 7 N N 1 e r
0000100 d i m a n c h e s u r 4
0000120 s e m a i n e s
0000140 \n 4 S + 1 3 N N
0000160 2 e m e s a m e d i s u r
0000200 4 s e m a i n e s
0000220 \n
0000231
dubcek
Messages postés
18744
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
4 septembre 2024
5 617
3 juil. 2007 à 14:14
3 juil. 2007 à 14:14
bizare, il devrait y avoir un blanc ou \t entre N et 1
0000000 4 S + 0 6 N N 1 e r s a
ca veut dire qu'il n'y a pas de séparateur. \n c'est la fin de ligne.
et en faisant head -4 list_rules.tmp ?
0000000 4 S + 0 6 N N 1 e r s a
ca veut dire qu'il n'y a pas de séparateur. \n c'est la fin de ligne.
et en faisant head -4 list_rules.tmp ?
fabien.joubert
Messages postés
35
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
31 juillet 2008
14
3 juil. 2007 à 14:16
3 juil. 2007 à 14:16
voici ce que j'obtiens... tu en conclu quoi?
4S+06NN 1er samedi sur 4 semaines
4S+07NN 1er dimanche sur 4 semaines
4S+13NN 2eme samedi sur 4 semaines
4S+14NN 2eme dimanche sur 4 semaines
4S+06NN 1er samedi sur 4 semaines
4S+07NN 1er dimanche sur 4 semaines
4S+13NN 2eme samedi sur 4 semaines
4S+14NN 2eme dimanche sur 4 semaines
dubcek
Messages postés
18744
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
4 septembre 2024
5 617
3 juil. 2007 à 14:19
3 juil. 2007 à 14:19
Le résultat du od -c est étrange.bon que répond
grep "^J+01LV[ <tab>]" list_rules.tmp
[ <tab>] contient [blanc tab] tab == touche tab
et sans "
grep ^J+01LV[ <tab>] list_rules.tmp
grep "^J+01LV[ <tab>]" list_rules.tmp
[ <tab>] contient [blanc tab] tab == touche tab
et sans "
grep ^J+01LV[ <tab>] list_rules.tmp
fabien.joubert
Messages postés
35
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
31 juillet 2008
14
3 juil. 2007 à 14:38
3 juil. 2007 à 14:38
Non mon fichier est toujours vide...
dubcek
Messages postés
18744
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
4 septembre 2024
5 617
3 juil. 2007 à 14:46
3 juil. 2007 à 14:46
en exécutant cette ligne dans la fenêtre
grep ^J+01LV[ <tab>] list_rules.tmp
grep ^J+01LV[ <tab>] list_rules.tmp
dubcek
Messages postés
18744
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
4 septembre 2024
5 617
4 juil. 2007 à 13:36
4 juil. 2007 à 13:36
Remplacer le grep par awk:
ligne=$(awk '$1 ~ /'"$regle"'/ {print $0}' list_rules.tmp)
ligne=$(awk '$1 ~ /'"$regle"'/ {print $0}' list_rules.tmp)