в папке около миллиона файлов (все одного расширения, названия циферные)
и есть txt файл со списком всех файлов, которые должны быть в этой папке вида:
файл.расширение
файл.расширение
файл.расширение
файл.расширение
и тд.
как получить такой же список но файлов отсутствующих в папке?
Ответ
например, так:
$ comm -1 -3 текущий.список.файлов файл.со.списком
текущий список файлов можно и не сохранять в файл текущий.список.файлов, а передать его по конвейеру:
$ ls каталог | comm -1 -3 - файл.со.списком
или, если в качестве оболочки используется что-нибудь современное типа bash или zsh, то воспользоваться конструкцией <(...)
$ comm -1 -3 <(ls каталог) файл.со.списком
пояснения про опции программы comm
-1 — убрать из результатов строки, уникальные для первого файла
-2 — убрать из результатов строки, уникальные для второго файла
-3 — убрать из результатов строки, совпадающие в обоих файлах
подробробнее см. man comm
Комментариев нет:
Отправить комментарий