Se as suas listas estiverem classificadas, você poderá usar comm -23 para obter os elementos exclusivos da primeira lista. Se não estiverem, você pode usar grep like
find -type f | grep -vFxf /tmp/alreadyCopied
-
-vencontrará todas as linhas sem correspondência -
-Fdiz para usar as strings como strings fixas, não como padrões -
-xcorresponde à linha inteira em vez da string em qualquer lugar da linha -
-f /tmp/alreadyCopiedleu as linhas para correspondência do arquivo fornecido
Você precisará garantir que os caminhos correspondam, por isso, se find estiver produzindo ./dir1/file1 , que precisa ser a mesma sequência em /tmp/alreadyCopied
Observe, porém, que essa abordagem geral terá problemas se, digamos, você tiver um nome de arquivo com \n . Você provavelmente poderia refazer tudo em find com algo como
find . -type f -exec test ! -f destdir/{} \; -exec cp -v --parents {} overflowdestdir \;