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-07
etc.
Algo com find
.... analise o ano/mês e vá para a pasta correspondente.
A man
página para Mac find
está 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 m
in -f%Sm
por 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.