Я хотел бы иметь возможность определить, какую эмблему файл имеет из командной строки. Есть ли способ определить это? Кроме того, есть ли способ применить эмблемы из командной строки?
У меня обычно есть задание cron, которое удаляет файлы старше 7 дней в моих ~ / Downloads, но я хотел бы иметь возможность удалять только файлы, которые не имеют определенной эмблемы (мои посевные торренты). Я наносил эти эмблемы вручную, но если бы я мог автоматизировать это, это было бы здорово.
Моя обычная работа cron - это простая команда поиска:
find /home/zach/Downloads/ -ctime +7 -exec trash {} \;
Редактировать:
Я решил свой собственный вопрос.
Бонус:
Чтобы уточнить, что именно я делаю, я использую deluge-torrent
для управления своими загрузками. Сейчас я использую плагин execute для запуска этого скрипта на torrent complete:
#!/usr/bin/env bash
# deluge gives the download directory name as the third argument
gvfs-set-attribute -t stringv "$3" metadata::emblems ubuntuone-unsynchronized
Затем я создал свой trasher.sh
(для этого требуется пакет trash-cli
):
#!/usr/bin/env bash
[[ "$(gvfs-info -a metadata::emblems $*)" =~ "ubuntuone-unsynchronized" ]] || trash "$*"
Теперь я просто изменяю свой cron:
find /home/zach/Downloads/ -maxdepth 1 -ctime +7 -exec /home/zach/Scripts/trasher.sh {} \;
И вуаля! Теперь Deluge может управлять своими загрузками, в то время как мой скрипт очистки может безопасно очищать старые файлы, не мешая заполнению потоков.
Этот пост объясняет , как информация о эмблеме хранится в файле XML в ~ / .nautilus / metafiles. Сначала вам нужно проверить, существует ли XML, относящийся к каждой загрузке, и если да, то содержит ли он выбранную вами эмблему.
<Juhaz>
в ## гноме на freenode получил его.
gvfs-info -a metadata::emblems FOLDER
извлечет эмблему папки / файла, а
gvfs-set-attribute -t stringv FOLDER metadata::emblems EMBLEM
позволит вам установить эмблему папки / файла.