Recherche d'une ligne avec espace

Résolu
Guizmo -  
 Guizmo -
Bonjour à tous,

Je débute avec la programmation en shell et je suis un petit peu dépassé. J'ai un fichier texte dans lequel j'aimerais retrouver une ligne qui contient une suite de nombre.
"17 1 0 2 1"
Malheureusement les espaces me posent beaucoup de problèmes et je n'ai pas de succès avec la commande grep. Si quelqu'un à une solution je suis preneur.

Je vous remercie d'avance
A voir également:

1 réponse

Utilisateur anonyme
 
salut,

qu'as-tu essayé ?
quelle est erreur retournée ?

donne un échantillon représentatif du fichier, mets en évidence les lignes qui devraient correspondre,...
1
Guizmo
 
Salut,
j'ai essayé du grep -w 17*****1*****0 montext.txt mais sans succès.
Il n y a pas d'erreur mais je n'arrive pas à retrouver ma ligne et uniquement cette ligne.

le fichier en un peu plus long donne ça :

4 2 0 1 3 3 0 5 0
0.00000000e+00 2.00000009e-03 0.00000000e+00 0.00000000e+00 0.00000000e+00
17 1 0 2 1 1 0 0 0
1 11000000
5.52925659e+02 0.00000000e+00
17 2 0 2 1 1 0 0 0
1 11000000
5.51666077e+02 0.00000000e+00
0
Utilisateur anonyme
 
ce n'est pas le fait que la ligne contient des espaces qui pose problème, c'est que ta regex ne veut pas dire ce que tu crois.
d'ailleurs, quel est le motif recherché (pas la ligne. le motif !) ?
que contient la ligne qui te permet de la sélectionner ? quelle partie est, ou n'est pas, significative ?

en attendant, un petit tour dans le
man 7 regex
, zou. ;)
0
Guizmo
 
Je voudrais récupérer le numéro de cette ligne pour le mettre dans une variable. Le contenu de la ligne n'a pas d'importance mais je ne peux pas la chercher à cause des espaces entre les nombres.
Si j'effectue un "grep 17 1" il va chercher uniquement toutes les lignes avec un 17 et pas cette ligne là.
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431 > Guizmo
 
Salut,
Si j'effectue un "grep 17 1" il va chercher uniquement toutes les lignes avec un 17 et pas cette ligne là.
Ah bon ?
$ cat plop 
4 2 0 1 3 3 0 5 0
0.00000000e+00 2.00000009e-03 0.00000000e+00 0.00000000e+00 0.00000000e+00
17 1 0 2 1 1 0 0 0
1 11000000
5.52925659e+02 0.00000000e+00
17 2 0 2 1 1 0 0 0
1 11000000
5.51666077e+02 0.00000000e+00

$ grep -n '^17 1' plop
3:17 1 0 2 1 1 0 0 0
0
Guizmo > zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention  
 
le grep -n '^17 1' fonctionne je te remercie.
Comment puis je mettre automatiquement le numéro de ligne dans une variable?
0