Страницы

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

пятница, 24 января 2020 г.

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

#shell


в папке около миллиона файлов (все одного расширения, названия циферные)

и есть txt файл со списком всех файлов, которые должны быть в этой папке вида:

файл.расширение
файл.расширение
файл.расширение
файл.расширение
и тд.


как получить такой же список но файлов отсутствующих в папке?
    


Ответы

Ответ 1



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

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

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