silent_gluk: (pic#4742421)
Алла Кузнецова, Молчаливый Глюк ([personal profile] silent_gluk) wrote2023-08-20 05:04 am

Любопытно...

Как сравнить 2 каталога?..

Дано: Дабл Коммандер под Линукс и 2 каталога. В одном файлы *.pdb, в другом - *.fb2. По идее имена файлов должны попарно совпадать (т.е. всякому файлу pdb должен соответствовать файл fb2 с таким же именем, но, естественно, с другим расширением, и наоборот). Фактически же совпадают не все.

Вот как бы обнаружить, выделить и вынести в отдельный каталог такие несовпадения? (Ну, как вынести - я знаю, а вот как их обнаружить, помимо сравнения двух каталогов вручную?)
brmail: (Default)

[personal profile] brmail 2023-08-20 03:15 am (UTC)(link)
Под винду есть всякие Duplicate File Finder. Может и под линукс что то такое есть написанное.
Ну либо *nix way - скинуть каталог в текстовый файл, и парсать-парсать изо всех сил.
brmail: (Default)

Re: Reply to your entry. [ silent_gluk - 1723

[personal profile] brmail 2023-08-20 04:14 am (UTC)(link)
кто мешает не принимать во внимание расширение, размер, дату
brmail: (Default)

Re: Reply to your entry. [ silent_gluk - 1723

[personal profile] brmail 2023-08-20 05:00 am (UTC)(link)
Э-э, нет.
Это вас угораздило использовать красноглазого пингвина как операционку. Для виндоус бесплатное решение очевидно. Для линукса, придется учиться писать скрипты.
doldonius: (Default)

[personal profile] doldonius 2023-08-23 10:38 am (UTC)(link)
Предполагая, что оба каталога — подкаталоги одного, и называются соответственно fb2 и pdb, получаем списки только имен:

ls fb2 | while read n; do basename $n .fb2; done | sort -u > fb2.list
ls pdb | while read n; do basename $n .pdb; done | sort -u > pdb.list


и сравниваем, допустим, с помощью diff:

diff -a fb2.list pdb.list
Edited 2023-08-23 10:39 (UTC)
doldonius: (Default)

Re: Reply to your entry. [ silent_gluk - 1723

[personal profile] doldonius 2023-08-23 06:24 pm (UTC)(link)
Да, в эмуляторе терминала. Только имена каталогов после "ls" привести в соответствие.
doldonius: (Default)

Re: Re[2]: Reply to your entry. [ silent_gluk - 1

[personal profile] doldonius 2023-08-24 04:41 pm (UTC)(link)
Получилось?