Como classificar a saída de find?

Como classificar a saída de find?

Estou usando o comando find para listar arquivos com seus nomes contendo uma string: find ~/ -type f -name "*inductive*" gostaria de usar um canal para classificar a lista de arquivos resultante. Gostaria de poder ordenar por tamanho de arquivo, data de criação, data de acesso... Como posso fazer isso? Obrigado.

Responder1

Classificar a saída por hora de criação é impossível no Linux ( ctimenão é a data de criação do arquivo). stattem a capacidade de mostrar um arquivohora do nascimentousando as tags de formato %we %W, mas elas sempre mostram -e 0, respectivamente, mesmo em sistemas de arquivos que armazenam hora de criação/hora de nascimento. Portanto, é praticamente inútil para esta finalidade no Linux.

As outras duas ordens de classificação são possíveis:

# 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

Você pode adicionar o -rsinalizador para sortreverter a ordem de classificação. Consulte man sortpara obter mais informações.

Dependendo do tamanho da findsaída de ', pode levar algum tempo para sortproduzir uma saída classificada.

informação relacionada