Linha de comando do Mac classifica arquivos em subpastas

Linha de comando do Mac classifica arquivos em subpastas

Quero executar um comando em uma pasta muito grande para classificar cada item em subpastas com base na data de modificação. Isso pode ser feito com uma linha?

Ou seja, todos os arquivos modificados em julho de 2013 seriam movidos para 2013-07etc.

Algo com find.... analise o ano/mês e vá para a pasta correspondente.

A manpágina para Mac findestá aqui:https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/find.1.html

Responder1

Eu encontrei a respostaaqui... e modifiquei para minhas necessidades:

for f in 12*; do   
     dir='/foo/bar/'$(stat -f%Sm -t%Y-%m "$f")
     [ -d "$dir" ] || mkdir "$dir"
     mv -nv "$f" "$dir"/
done

Você pode substituir min -f%Smpor qualquer um dos seguintes:

uma, m, c, B

  • O arquivo de hora foi o últimoaacessado oueuodificado, de quando o inode foi últimocenforcado, ou oBTerceiro tempo do inode.

informação relacionada