Tengo un archivo llamado ejemplo.txt y dentro del archivo tengo números del 1 al 50 pero solo quiero ver el número dentro de un rango particular como 1-25
Probé este comando: less example.txt | grep [1-25]
pero esto no ayudó, por favor ayuda
En mi humilde opinión, la mejor manera sería usar la verificación de condiciones matemáticas en lugar de expresiones regulares, intente seguir el programa awk .
awk '$0>=0 && $0<=25' Input_fileLo anterior funcionará si sus líneas contienen solo dígitos, por ejemplo:
1 2 3 .....En caso de que las líneas de su Input_file puedan contener varios dígitos que desea imprimir, es mejor recorrerlos y aplicarles condiciones e imprimirlos luego.
awk '{for(i=1;i<=NF;i++){if($i>=0 && $i<=25){print $i}}}' Input_file[1-25] significa un grupo de coincidencias de caracteres que consta de caracteres entre 1 y 2 y el carácter 5 . Es lo mismo que [125] : haga coincidir cualquiera de 1 2 o 5 .
Puede:
grep '[1-9]\|1[0-9]\|2[0-5]' Haga coincidir los dígitos del 1 al 9, o haga coincidir el 1 seguido del dígito del 0 al 8, o haga coincidir el 2 seguido del dígito del 0 al 5. Tal vez agregue -w , consulte man grep .
Recomiendo crucigramas de expresiones regulares para aprender expresiones regulares.