我希望能够从命令行确定文件具有什么标志。有没有办法确定这一点?另外,有没有办法从命令行应用标志?
我通常有一个 cron 作业,在我的 ~/Downloads 中删除超过 7 天的文件,但我希望能够只删除没有特定标志的文件(我的种子种子)。我一直在手动应用这些标志,但如果我也可以自动化,那就太棒了。
我通常的 cron 工作只是一个简单的 find 命令:
find /home/zach/Downloads/ -ctime +7 -exec trash {} \;
编辑:
我解决了我自己的问题。
奖金:
为了详细说明我在做什么,我用它deluge-torrent
来管理我的下载。我现在使用执行插件在洪流完成时运行此脚本:
#!/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 可以管理它的下载,而我的清理脚本可以安全地清理旧文件,而不会干扰种子种子。
<Juhaz>
在 freenode 上的##gnome 中得到了它。gvfs-info -a metadata::emblems FOLDER
将检索文件夹/文件的标志和
gvfs-set-attribute -t stringv FOLDER metadata::emblems EMBLEM
将允许您设置文件夹/文件的标志。
这篇文章解释了徽章信息如何存储在 ~/.nautilus/metafiles 下的 XML 文件中。首先,您需要测试与每次下载相关的 XML 是否存在,如果存在,它是否包含您选择的标志。