Se você quiser diff
da saída de alguns comandos, use substituição do processo <(...)
em vez da substituição do comando $(...)
. Caso contrário, parece que deveria funcionar.
diff $(foo)
coloca a saída de foo
na linha de comando de diff
, enquanto diff
deseja que o nome de um arquivo seja lido. diff <(foo)
organiza a saída de foo
disponível a partir de um fd e fornece diff
um nome de caminho que corresponde ao fd já aberto ( /dev/fd/NN
, pode ser específico do sistema).
Apesar de ler a pergunta novamente, talvez você queira fazer algo assim:
for f in *.wav ; do
b=${f%.wav}
if [ -f "$b.mp3" ] ; then echo "$b.mp3 exists" ; else
echo "$b.mp3 missing" ; fi
done
Isso diria se todos os arquivos .wav
no diretório possuem um arquivo .mp3
correspondente. (Mas não mostraria nenhum arquivo .mp3
que não tenha um .wav
correspondente, é claro).