Estoy intentando usar find en combinación con grep para buscar todos los archivos php en mi servidor web que tengan una palabra (cualquier secuencia de caracteres excepto espacios en blanco) con más de 50 caracteres.
Tengo esta base:
find . -name '*.php' -exec fgrep -q '.{50}' {} \; -print
Pero no funciona como se esperaba.
Gracias
Respuesta1
.
representa todo excepto los caracteres de nueva línea, incluidos espacios y tabulaciones. Es por eso que su expresión regular coincidirá con líneas de más de 50 caracteres.
Para unir palabras que tengan al menos 50 caracteres, puedes usar algo como esto:
[^\s]{50}
[^\s]
coincide con todo excepto los espacios en blanco. {50}
significa que se hará coincidir una secuencia de 50 de estos caracteres (no necesariamente idénticos).