Estoy usando el comando buscar para enumerar archivos cuyo nombre contenga una cadena:
find ~/ -type f -name "*inductive*"
me gustaría usar una tubería para ordenar la lista de archivos resultante. Me gustaría poder ordenar por tamaño de archivo, fecha de creación, fecha de acceso... ¿Cómo puedo hacer esto? Gracias.
Respuesta1
Ordenar la salida por hora de creación es imposible en Linux ( ctime
no es la fecha de creación del archivo). stat
tiene la capacidad de mostrar un archivohora de nacimientousando las etiquetas de formato %w
y %W
, pero siempre muestran -
y 0
, respectivamente, incluso en sistemas de archivos que almacenan la hora de creación/nacimiento. Por lo tanto, es prácticamente inútil para este propósito en Linux.
Sin embargo, los otros dos órdenes de clasificación son posibles:
# Sort by size:
find ~/ -type f -name "*inductive* -exec ls -ltu {} \; | sort -k 5 -n
# Sort by access time:
find ~/ -type f -name "*inductive* -exec ls -ltu {} \; | sort -k 6 -M
Puede agregar la -r
bandera para sort
invertir el orden de clasificación. Consulte man sort
para obtener más información.
Dependiendo del tamaño de find
la salida, puede llevar algún tiempo sort
producir una salida ordenada.