Hola, ¿cómo puedo hacer un grep únicamente de los ficheros de hace dos días?
Gracias.
Hola, ¿cómo puedo hacer un grep únicamente de los ficheros de hace dos días?
Gracias.
Será metiendo primero un find, supongo.
find | grep
Hola, para quien le interese. Me ha funcionado este ejemplo:
find . -mtime -2 |xargs grep 'exit code' |grep -v '0'
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...
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...