NOTA: Esta pregunta es el complemento de estas preguntas y respuestas: ¿Cómo "grep" para la longitud de línea en un rango dado?
¿Cómo podemos buscar líneas que tengan menos de 8 o más de 63 caracteres, ninguna que contenga más de ocho y menos de 63 caracteres?
Entonces, algunos recuentos de caracteres aceptables podrían ser ...
7 6 5 4 3 2 1 0
...y...
64 65 66 67 ...
text-processing
grep
regular-expression
LoukiosValentine79
fuente
fuente
grep
, pero puede considerarloawk
, especialmente si necesita más procesamiento, etc. (muy flexible y legible ):awk '( length($0)<8 ) || ( length($0)>63 )'
# la acción predeterminada de una condición es imprimir las líneas que coinciden con la condición. O, con menos procesamiento en $ 0:awk '{ l=length($0) ; if (( l<8 ) || l>63 ) { print $0 ;} }'
Respuestas:
grep
El-x
interruptor 'denota una coincidencia de línea completa , lo que significa que cualquier patrón coincidente debe definir una línea desde la cabeza hasta la cola. haciendo...... es generalmente equivalente a ...
grep
El-v
conmutador niega la influencia de un patrón en la selección de línea. generalmente haciendo ...... solo seleccionará líneas que coincidan con el patrón, pero con un
-v
patrón negado solo se seleccionarán aquellas líneas que no coincidan....y entonces...
... coincide con todas las líneas que consisten de la cabeza a la cola de entre 8 y 63 caracteres, y la
-v
selección negadagrep
solo hace que se imprima todo lo demás.fuente