LINUX.ORG.RU

Отход от wine

 , ,


2

1

В бытность пользования оффтопиком я пользовался самым разным ПО, а после перехода на linux я нашёл замену большей части программ. Но, к сожалению, не всем.

Для поиска нужный альтернатив я пользовался парой неплохих ресурсов, но кое для чего я найти замену так и не смог.

Во-первых - DropIt. Очень полезный и удобный инструмент для раскидывания мусора по вилдкардам. Худо-бедно можно запустить под вайном на пару минут, но хотелось бы нативную альтернативу.

А во-вторых это AntiDupl - замечательный поиск дубликатов изображений. Под вайном запускать не удаётся, только virtualbox помогает, но это же не дело!

Прошу информацию о том, где же найдутся решения для линукса.

★★★★★

DropIt. Очень полезный и удобный инструмент для раскидывания мусора по вилдкардам

find + file + bash + cp/rm/mv

Пишется вообще на коленке за пару минут.

Chaser_Andrey ★★★★★
()

поиск дубликатов изображений

geeqie

инструмент для раскидывания мусора по вилдкардам

python, bash

anonymous
()

Во-первых - DropIt.

Во-первых наведи порядок в файлах, классифицруй раскидай по соответствующим категориям. DropIt - программа для устранения следствия а не причины.

А во-вторых это AntiDupl

А во-вторых всё тоже самое. Козьма Прутков - Зри в корень ёпта.

anonymous
()
Ответ на: комментарий от Chaser_Andrey

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

С башем не имел отношений дольше одной строки, можно ли дать инфу про скриптописание для нём для начинающего? Не только для этого вопроса, а в целом - было бы полезно. Сойдёт и на английском.

Geeqie как будто бы тоже ищет дубликаты не по содержанию изображения, а по файловым характеристикам.

Bfgeshka ★★★★★
() автор топика
Ответ на: комментарий от Bfgeshka
# эта хрень скопирует все doc файлы с ~/docs в /tmp/zzz
find ~/docs/ -name "*.doc" -exec cp {} /tmp/zzz \;

# а эта — перенесёт
find ~/docs/ -name "*.doc" -exec mv {} /tmp/zzz \;

#а это просто покажет все совпадения по маске
find ~/docs/ -name "*.doc" 

man find

Здесь даже баш не нужно знать.

Chaser_Andrey ★★★★★
()
Последнее исправление: Chaser_Andrey (всего исправлений: 1)
Ответ на: комментарий от Chaser_Andrey

Вилдкардов много, несколько десятков. Но за шаблон спасибо, попробую сделать один большой скрипт и запланировать включение раз в несколько часов тогда.

Bfgeshka ★★★★★
() автор топика

DropIt

В KDE есть виджет для этого: Magic Folder.

AntiDupl

Опять же, в KDE есть всёнабор плагинов KIPI, которые используются уже упомянутым Digikam, а также другими программами KDE, например Gwenview. Среди этих плагинов есть и реализация поиска дубликатов изображений по отпечатку.

anonymous
()
Ответ на: комментарий от Chaser_Andrey

Если cp и mv из GNU coreutils (читай «если у тебя GNU/Linux»), то вместо

cp {} /tmp/zzz \;
лучше писать
cp -t /tmp/zzz {} +
(для mv — аналогично). Так будет создан 1 процесс cp (mv) для всех файлов, а не по одному на каждый.

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

\;

Извиняюсь за нубство... насколько я понимаю вы про «лучше писать» написали в контексте использования с find?
Ссылочкой не поделитесь на эту тему а то сам не могу найти.

windusjatnik
()
Ответ на: комментарий от dexpl

Правильно ли я понимаю, что плюс означает одновременное выполение в баше вообще?

Bfgeshka ★★★★★
() автор топика

И что касательно баша, можно ли ужать указание нескольких разных масок с одинаковыми директориями в одну строку или же нужно индусить и каждый раз писать снова, меняя только маску файла?

Bfgeshka ★★★★★
() автор топика
Ответ на: комментарий от Chaser_Andrey

В таком виде обрабатывается только последняя маска (то есть обрабатываются все, но -exec стоит-то за последней). Можно ли каким-то образом локализовать обработку дефисных условий - скобками или ещё как? То есть иначе за каждым -o придётся писать новый -exec, таким образом теряется смысл продолжать.

Можно было с таким же успехом скопипастить кучу строк - было бы то же самое, да ещё читабельнее.

Bfgeshka ★★★★★
() автор топика
Ответ на: комментарий от Chaser_Andrey

А вот такая форма действительно работает, теперь надо манами закидываться, а то grep пока воспринимается на уровне магии.

Bfgeshka ★★★★★
() автор топика
Ответ на: комментарий от Chaser_Andrey

можно упростить

find ~/[drop]/ -regextype posix-egrep -regex ".*\.(jpg|png|gif)$" -exec cp -t ~/images/random {} +

Chaser_Andrey ★★★★★
()
Ответ на: \; от windusjatnik

насколько я понимаю вы про «лучше писать» написали в контексте использования с find?

Да. Смысл такой — если аргумент у -exec заканчивается на \;, то выражение вида

find что-нибудь -exec command '{}' \;
раскрывается при исполнении в такое количество запусков процесса command, сколько нашлось файлов (по одному процессу на каждый файл). Если известно, что command умеет обрабатывать больше одного файла за раз (как, например, cp и mv из GNU coreutils), то записью + вместо \; можно передать ей все найденные имена разом, сэкономив тем самым системные ресурсы и время работы всей конструкции:
find что-нибудь -exec command '{}' +
. Насчет ссылок помочь, увы, ничем не могу — не знаю ничего лучше man find (правда, сам «въехал» в него отнюдь не с первой попытки).

Bfgeshka, нет, не в баше — это фича find.

Кстати, чтобы в

find ~/[drop]/ -name "*.jpg" -o -name "*.png" -o -name "*.gif" -exec mv -t ~/images/random {} +
действие -exec применялось ко всем маскам, достаточно сказать
find ~/[drop]/ \( -name "*.jpg" -o -name "*.png" -o -name "*.gif" \) -exec mv -t ~/images/random {} +
(скобками группируем маски).

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

Зачитал, попробовал, оху** от результатов сравнения! Грёбаный насос Жора где ты был(c)
Большое спасибо! Ушёл переделывать свои недоскрипты.

windusjatnik
()
Ответ на: комментарий от anonymous

Мог бы запостить, как он находит разные но похожие изображения, на вроде разных тёлок в одинаковых позах, но модеры потрут:3

anonymous
()
Ответ на: комментарий от Chaser_Andrey

отлично, не знал о такой штуке

Я, в свою очередь, не помнил про -regex и -regextype. Словом, совместными усилиями написали содержательный топик :)

dexpl ★★★★★
()
Ответ на: комментарий от Bfgeshka

С башем не имел отношений дольше одной строки, можно ли дать инфу про скриптописание для нём для начинающего? Не только для этого вопроса, а в целом - было бы полезно. Сойдёт и на английском.

http://www.grymoire.com/Unix/Sh.html — IMHO, то, что нужно для начала. Затем Advanced Bash-Scripting Guide — учебник и настольный справочник. Ну и man bash, куда ж без него.

dexpl ★★★★★
()

suse.me
alternativeto.net

Хотеть такое же, но с J2ME. По-моему, на suse её умышленно игнорят, там платформ over 100500.

MiniRoboDancer ★☆
()
Ответ на: комментарий от TEX

AntiDupl'у, кстати, полноценной замены пока и не увидел - geeqie даёт совсем уж базовый функционал. Надо бы digikam вытянуть-таки.

Bfgeshka ★★★★★
() автор топика
Ответ на: комментарий от Bfgeshka

В общем-то проблемы решились - для сортировки файлов используется самописный скрипт на дюжину строчек, ежечасно подгружаемый кроном.

А на замену AntiDupl нашлась dupeguru_pe, функционал устраивает.

Хэппи энд.

Bfgeshka ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.