GNU/Linux >> Tutoriales Linux >  >> Linux

¿Grep para una línea que contiene solo 5 o 6 números?

¿Cómo buscaría una línea que contenga solo 5 o 6 números? Algo como esto.

caso 1 (tiene espacio inicial)

           10      2       12      1       13

caso 2 (sin espacio inicial)

   1       2       3       4       5        6

Pensé que algo como esto funcionaría.

grep -E '[0-9]{5}'

Respuesta aceptada:

grep -E '[0-9]{5}' está buscando números con al menos 5 dígitos. Lo que necesitas son 5 números con al menos un dígito:

grep -E '[0-9]+([^0-9]+[0-9]+){4}'
  • [0-9]+ – un número de al menos un dígito
  • [^0-9]+[0-9]+ – un número con al menos un dígito, precedido por al menos un carácter que no sea un dígito. Luego repetimos esto 4 veces para obtener 5 números separados por no dígitos.
  • Si el requisito es exactamente 5, es posible que desee rodear esta expresión regular con [^0-9] para que toda la línea coincida (con los anclajes, por supuesto).
  • Dependiendo de lo que desee aquí (¿1,2,3,4,6 calificar?), puede buscar otros separadores. Por ejemplo, un número real de notación científica apropiado se vería así:[+-]?(([0-9]+(.[0-9]+)?)|([0-9]?.[0-9]+))([eE][+-][0-9]+)? Por lo tanto, los separadores pueden no incluir . , e , etc. Solo pueden ser espacios en blanco, como mikeserv notas O tal vez comas, si es un registro CSV. O, según la configuración regional, una coma sería el separador decimal. Variar [^0-9] según su necesidad.

Linux
  1. Agregar una línea a un archivo solo si aún no existe

  2. Se necesita expresión regular (grep) para la búsqueda de varias líneas

  3. sed para insertar solo en la primera coincidencia

  4. línea de comando de Linux:du --- cómo hacer que muestre solo el total para cada directorio

  5. Linux busca la palabra y muestra la línea completa

3 gestores de contraseñas para la línea de comandos de Linux

Cómo mostrar números de línea en Vim / Vi

Cómo mostrar números de línea en Gedit

¿Cómo hacer que GREP seleccione solo valores numéricos?

agregue una línea a un archivo SOLAMENTE si aún no está en el archivo

Grep:cuenta el número de coincidencias por línea