Eu uso o comando a seguir para limpar um diretório de arquivos e diretórios com mais de 30 dias e movê-los para um diretório de arquivamento que eu posso excluir após algumas semanas se ninguém pedir seus arquivos de volta. O diretório de destino possui subdiretórios por nome de usuário, assim como o diretório de archive.
Este é o comando que eu uso:
find /path/to/directory/username/ -mtime +30 -exec mv "{}" /path/to/archive/username/ \;
Sugeri uma versão modificada deste para responder a uma pergunta sobre perguntar ubuntu, outro usuário editou o código para alterar o fim da linha \;para +como ele é mais rápido (e mais correto?). Veja aqui
No entanto, o uso +dessa maneira funciona se o -execcomando estiver, ls -lhmas não no comando real que eu uso. Se eu tentar, +recebo uma mensagem de erro:
find: missing argument to '-exec'
Não entendo por que está se comportando dessa maneira ou qual seria o comando correto. Por favor, não basta postar uma correção de comando, eu gostaria de entender, em vez de apenas seguir uma sugestão cegamente.
+vários argumentos para o mesmo comando, mas mvnão consigo lidar com isso!