Cómo obtener la información de tiempo de los archivos después de buscar | ¿Comando de palabra clave grep?

Cómo obtener la información de tiempo de los archivos después de buscar | ¿Comando de palabra clave grep?

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 findy grepjuntos. findes 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 findel 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 ext4los almacenan la hora de creación como "Hora de nacimiento". Entonces, stat -c %wfuncionaría para esos. Leer más sobre este temaaquí.

información relacionada