¿Cómo ordenar la salida de buscar?

¿Cómo ordenar la salida de buscar?

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 ( ctimeno es la fecha de creación del archivo). stattiene la capacidad de mostrar un archivohora de nacimientousando las etiquetas de formato %wy %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 -rbandera para sortinvertir el orden de clasificación. Consulte man sortpara obtener más información.

Dependiendo del tamaño de findla salida, puede llevar algún tiempo sortproducir una salida ordenada.

información relacionada