Eu procurei e procurei, mas não encontrei uma resposta para esta pergunta.
Aqui está o cenário: acabei de copiar toda a minha coleção de CDs para o codec de áudio sem perdas (FLAC) gratuito para arquivo. Também tenho alguns arquivos .m4a OU .mp3 com perda de alta qualidade neste arquivo. Isso é armazenado na estrutura DIRECTORY01/artista - álbum/*.flac. Todos os arquivos relevantes neste diretório são .flac,.m4a ou .mp3
Em seguida, transcodifiquei todo esse diretório para ogg vorbis, para uso diário real e para meu reprodutor de mídia portátil. Isso é armazenado na estrutura DIRECTORY02/artista - álbum/*.ogg. Todos os arquivos relevantes são .ogg.
Agora quero verificar se está tudo bem. Usei o diff para comparar o número de pastas (e verificar se são iguais. Depois contei o número de arquivos flac e ogg (respectivamente) em cada um.
Problema: há três arquivos .ogg extras na pasta .ogg, de alguma forma, em algum lugar. Como cada diretório pai contém 526 subpastas, gostaria de saber como identificar automaticamente os diretórios que diferem apenas na contagem de arquivos de tipos de arquivo .ogg ou .flac/.m4a/.mp3 específicos (ignorando qualquer arquivo .txt, .log, . nfo, .cue, .jpg, etc).
Portanto, idealmente, quaisquer que sejam os comandos executados, o resultado seria um relatório que ignora subdiretórios comuns com contagens de arquivos comuns e me ajuda a identificar especificamente quaisquer diretórios que tenham arquivos ".ogg ou .flac/.m4a/.mp3" diferentes conta.
Isso é possível? Também estou aberto a outras sugestões/lógicas para verificar se todos os números X de .flac/.m4a/.mp3 foram transcodificados com sucesso para .ogg.
Como você tem mais
.ogg
de.flac
, uma abordagem simples seria encontrar todos os*.ogg
nomes e verificar quais não têm um.flac
nome correspondente. Algo como:Aqui está a mesma coisa que um script comentado:
Usando um
for
loop comfind
, esta pode não ser a maneira mais rápida de atingir seu objetivo, mas deve funcionar corretamente:Ou mais legível
Irá produzir algo semelhante a:
Para cada diretório onde as contagens de arquivo não correspondem. O loop não lidará normalmente com condições de erro, como um diretório 'Artista - Álbum' aparecendo em DIRECTORY01, mas não em DIRECTORY02, ou diferenças na ortografia do diretório 'Álbum - Artista'.
Você pode tentar usar
meld
. A descrição é:Meld é um visualizador gráfico de diferenças e aplicativo de mesclagem para a área de trabalho do GNOME. Ele suporta diferenças de 2 e 3 arquivos, diferenças de diretório recursivas, diferenças de diretórios sob controle de versão (Bazaar, Codeville, CVS, Darcs, Fossil SCM, Git, Mercurial, Monotone, Subversion), bem como a capacidade de mesclar manualmente e automaticamente diferenças de arquivo.
1) O site é:
http://meldmerge.org/
2) E se estiver na sua lista de repositórios, você pode instalá-lo com:
3) Também está no aplicativo Ubuntu Software.