A menudo ejecuto comandos grep para encontrar cosas en mi código, pero el problema con los proyectos web es que a menudo habrá archivos comprimidos de JavaScript y CSS que crean una gran línea de texto, de modo que si se encuentra una coincidencia, la ventana de terminal completa es lleno por más de 1000 líneas, por lo que es extremadamente poco práctico encontrar lo que estoy buscando.
Entonces, ¿hay alguna manera de evitar archivos que tengan líneas de texto de más de 200 caracteres?
... | grep -v -E '.{200}'
, también funciona. Por ejemplo, para encontrar todas las líneas de archivos * .js en el directorio actual con ".name" en ellas que no tengan más de 200 caracteres:find . -name "*.js" -exec grep -H \\.name {} \; | grep -v -E '.{200}'
Opción 1: puede excluir archivos que coincidan con un patrón determinado:
Esto excluirá
script.min.js
ystyle.min.css
... Otragrep
opción incluye--exclude-from=FILE
y--exclude-dir=DIR
Opción 2: no estoy seguro de si esto es práctico, pero puede hacer
cut
los primeros 200 caracteres de cada línea y luegogrep
:El primero
grep
hace una coincidencia inicial y genera el nombre del archivo y la línea, el segundo aseguraPATTERN
que todavía está allí después decut
ajustar las líneas.fuente
En este tipo de situación, me gusta grep un patrón con un contexto de vecindario (digamos 30 caracteres):
fuente