Ahora sé cómo utilizar buscar | palabra clave grep para obtener el archivo que quiero.
Pero después de eso, ¿cómo debería saber el tamaño y la información create_time de cada archivo que encontré?
Por ejemplo, después de buscar | tutorial grep, tengo esto:
./lab/zengjuchen/tutorial
./lab/zengjuchen/tutorial/tutorial
¿Cómo debo ver el tiempo y el tamaño de su creación?
Respuesta1
Empezaste mal usando find
y grep
juntos. find
es perfectamente capaz de filtrar archivos. No es necesario grep
; de hecho, no se recomienda cambiar nombres de archivos como este.
Haz esto en su lugar:
find -name '*tutorial*' -exec <some-command> {} \;
Aquí <some-command>
se ejecutará para cada archivo encontrado, cuyo nombre reemplazará {}
. Por ejemplo, para obtener el tamaño del archivo:
find -name '*tutorial*' -exec du {} \;
Usar \+
en lugar de \;
hará que find
el comando se ejecute en todos los archivos a la vez, si el comando dado admite pasar más de un argumento de archivo. Esto acelerará el proceso.
O incluso podrías hacerlo con Bash:
shopt -s globstar
du **/*tutorial*
Aquí, **
recorre recursivamente todos los directorios.
En cuanto al tiempo de creación: tradicionalmente, no se almacena. Sólo obtendrás la hora del último acceso, modificación y cambio de estado. Ver más sobrestat
. Los sistemas de archivos como ext4
los almacenan la hora de creación como "Hora de nacimiento". Entonces, stat -c %w
funcionaría para esos. Leer más sobre este temaaquí.