Ola,
Je suis à la recherche d'un grep qui me permettra de me donner toutes les lignes qui contiennent un nombre de 3 chiffres commençant par 5 (bref tout de 500 à 599).
A titre d'exemple le fichier :
Il faudrait donc que ma commande me retourne les lignes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 >cat grep_test.txt osef pas 45189 bien 524 et 512 mais pas 54268 en revanche il faut prendre 550 et pas le reste
Si je fais simplement ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 bien 524 et 512 mais pas il faut prendre 550
Ce n'est pas bon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 >grep '5[0-9][0-9]' grep_test.txt pas 45189 bien 524 et 512 mais pas 54268 en revanche il faut prendre 550
Il ne faut évidemment éviter les nombres qui terminent, commencent ou contiennent 5XX.
mais je perd les lignes qui commencent ou finissent avec un 5XX.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 >grep '[^0-9]5[0-9][0-9][^0-9]' grep_test.txt bien 524 et
Donc je me suis dit qu'il fallait que mon 5XX soit le début d'une ligne ou précéder par un blanc, ou la fin d'une ligne ou suivi par un blanc :
Toujours pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 >grep '[ ^]5[0-9][0-9][ $]' grep_test.txt bien 524 et
Une idée ?
Partager