BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

grep con fecha

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
BocaDePez
BocaDePez

Será metiendo primero un find, supongo.

find | grep

🗨️ 3
BocaDePez
BocaDePez

Hola, para quien le interese. Me ha funcionado este ejemplo:

find . -mtime -2 |xargs grep 'exit code' |grep -v '0'

🗨️ 2
migtei

Tu linea no me funciona, pero he visto algo que hace lo mismo usando el exec dentro de find.

Busca archivos que contengan la cadena ejemplo "pepe" en los archivos modificados los dos últimos días:

find . -mtime -2 -exec grep "pepe" '{}' \; -print

Lo vi aquí:
(link roto)

Suerte...

🗨️ 1
migtei

Otra manera de hacerlo con una tubería como tú lo haces que me funciona es:

Busca la cadena "pepe" entre archivos no binarios modificados los últimos 4 dias:

find . -print0 -mtime -4 | xargs -0 grep -I "pepe"

...y solucionas con la opción -print0 de find y la opción -0 de xargs el problema de los archivos con nombres que tienen espacios.

La opción -I de grep pasa de buscar entre los archivos considerados binarios, aunque depende lo que busques.
Para binarios lo suyo sería pasarlos por el comando strings en caso de encontrar find un archivo binario.

Lo mismo añadiendo 2 lineas de contexto en cada coincidencia encontrada y separando cada coincidencia con -- que queda mas legible:

find . -print0 -mtime -4 | xargs -0 grep -C 2 -I "pepe"

Suerte...