Accidentalmente eliminé un archivo en Ubuntu 16 (Terminal), usé photorec para restaurarlo pero obtuve tantos resultados que difícilmente puedo verificar manualmente cuál es el último. Entonces uso el comando
find -name "*.c" -print0 | xargs -0 -r grep -lH "Created named pipe" | xargs cp -p -t found/
para encontrar mis archivos .c en todas las carpetas que contienen la cadena de búsqueda. con cp -t puedo copiar esos archivos a otro lugar. Lamentablemente, aunque proporcioné -p (or --preserve=timestamp)
la fecha del archivo que veo que se usa ls -alt
esahoray no la fecha, que tiene el archivo que intento copiar. Verifiqué la fecha de los archivos originales que debo copiar pero su fecha es correcta (en algún lugar del pasado)
¿Qué puedo hacer para mantener la fecha del archivo original durante la copia?
Respuesta1
Encontré una solución sin copiar, pero está bien porque solo quiero copiar el archivo más reciente, así que esto
ls -alt $( find -name "*.c" -print0 | xargs -0 -r grep -lH "Created named pipe" )
hace lo que necesito: se imprimen las marcas de tiempo de todos los archivos.
Ahora también veo que rm un archivo y restaurarlo no restaura la fecha de edición. Nunca dejas de aprender...
De todos modos, tal vez esto ayude a alguien más, saludos.