Страницы

Поиск по вопросам

понедельник, 18 марта 2019 г.

Как получить список файлов отсутствующих в папке, если есть список всех файлов которые в ней должны быть?

в папке около миллиона файлов (все одного расширения, названия циферные)
и есть txt файл со списком всех файлов, которые должны быть в этой папке вида:
файл.расширение файл.расширение файл.расширение файл.расширение и тд.
как получить такой же список но файлов отсутствующих в папке?


Ответ

например, так:
$ comm -1 -3 текущий.список.файлов файл.со.списком
текущий список файлов можно и не сохранять в файл текущий.список.файлов, а передать его по конвейеру:
$ ls каталог | comm -1 -3 - файл.со.списком
или, если в качестве оболочки используется что-нибудь современное типа bash или zsh, то воспользоваться конструкцией <(...)
$ comm -1 -3 <(ls каталог) файл.со.списком

пояснения про опции программы comm
-1 — убрать из результатов строки, уникальные для первого файла -2 — убрать из результатов строки, уникальные для второго файла -3 — убрать из результатов строки, совпадающие в обоих файлах
подробробнее см. man comm

Комментариев нет:

Отправить комментарий