Если ваши списки отсортированы, вы можете использовать comm -23
, чтобы получить уникальные элементы первого списка. Если это не так, вы можете использовать grep
, например,
find -type f | grep -vFxf /tmp/alreadyCopied
-v
найдет все строки без совпадения -F
говорит ему использовать строки как фиксированные, не как шаблоны -x
соответствует всей строке вместо строки в любом месте строки -f / tmp / alreadyCopied
читать строки для сопоставления из данного файла Вы однако необходимо убедиться, что пути совпадают, поэтому, если find
создает ./ dir1 / file1
, это должна быть та же строка в / tmp / alreadyCopied
Сделайте учтите, однако, что этот общий подход вызовет проблемы, если, скажем, у вас есть имя файла с \ n
в нем. Вероятно, вы могли бы повторить все это в найти
, используя что-то вроде
find . -type f -exec test ! -f destdir/{} \; -exec cp -v --parents {} overflowdestdir \;