Comment feriez-vous grep pour une ligne contenant seulement 5 ou 6 chiffres ? Quelque chose comme ça.
cas 1 (avec un espace de début)
10 2 12 1 13
cas 2 (pas d'espace en tête)
1 2 3 4 5 6
Je pensais que quelque chose comme ça fonctionnerait.
grep -E '[0-9]{5}'
Réponse acceptée :
grep -E '[0-9]{5}'
recherche des nombres d'au moins 5 chiffres. Vous avez besoin de 5 chiffres avec au moins un chiffre :
grep -E '[0-9]+([^0-9]+[0-9]+){4}'
[0-9]+
– un nombre d'au moins un chiffre[^0-9]+[0-9]+
– un nombre avec au moins un chiffre, précédé d'au moins un caractère non numérique. Nous répétons ensuite cela 4 fois pour obtenir 5 nombres séparés par des non-chiffres.- Si l'exigence est exactement 5, vous pouvez entourer cette expression régulière de
[^0-9]
pour que toute la ligne corresponde (avec les ancres, bien sûr). - Selon ce que vous voulez ici (est-ce que
1,2,3,4,6
qualifier ?), vous pouvez consulter d'autres séparateurs. Par exemple, un nombre réel en notation scientifique appropriée ressemblerait à :[+-]?(([0-9]+(.[0-9]+)?)|([0-9]?.[0-9]+))([eE][+-][0-9]+)?
Les séparateurs ne peuvent donc pas inclure.
,e
, etc. Ils ne peuvent être que des espaces blancs, commemikeserv
Remarques. Ou peut-être des virgules, s'il s'agit d'un enregistrement CSV. Ou selon les paramètres régionaux, une virgule serait le séparateur décimal. Variez[^0-9]
selon vos besoins.