Costumo usar o rsync para sincronizar as estruturas de diretório e gostar de fazer uma execução a seco antes de executar o comando real. Eu também fico irritado com a impressão dos nomes dos diretórios, então eu uso grep
para filtrá-los.
Uma diferença entre meu uso e o seu é que eu uso a opção --delete
para remover arquivos do diretório de destino. Assim, não quero que o grep
filtre linhas como
deleting folderA/
deleting folderA/folderB/
Além disso, gosto de manter a linha em branco ( ^$
) para facilitar a leitura, então o pipeline completo é:
rsync -auvn --delete source_folder destination_folder | grep -E '^deleting|[^/]$|^$'
Seria ótimo se rsync
tivesse um sinalizador para não imprimir nomes de diretório (ele tem uma opção para quase todo o resto), mas nesse meio tempo, esse é o melhor hack que eu criei. / p>