我想能够从命令行确定文件的标志。有办法确定这个吗?另外,有办法从命令行应用标志吗?
通常我有一个定时任务,在我的~/Downloads目录中删除7天前的文件,但我希望只删除没有特定标志(我的种子下载)的文件。我一直在手动应用这些标志,但如果我也可以自动化这个过程,那就太棒了。
我的通常的定时任务只是一个简单的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可以管理它的下载了,而我的清理脚本可以安全地清理旧文件,而不会干扰正在做种的种子。