Uma maneira crua de fazer isso:
for f in /path/to/PDFs/*.pdf; do
base=$( basename "$f" .pdf )
if [ ! -f /path/to/PNGs/"$base".png ]; then
mv "$f" /path/to/garbage/
fi
done
Eu tenho um problema muito específico e estranho para resolver. Estou trabalhando como assistente de pesquisa e tenho produzido uma tonelada de números. Em um diretório, eu despejo .pngs para ver casualmente (espaço limitado aqui) e no outro, eu despejo os arquivos .ps e .pdf para usar no látex. Tudo é automatizado com o matlab. Na pasta .png, eu apaguei periodicamente muitos arquivos que não considerei úteis, mas o outro é uma bagunça.
Como posso dizer ao unix para ir através do diretório .ps, e para cada arquivo, procure no diretório .png por nomes de arquivos que correspondam e, se eles não corresponderem, mova o arquivo para um diretório diferente (que É provável que mais tarde apague)?
Existe algum comando que possa ser útil aqui?