如何从光盘中删除未使用的组织模式附件文件

时间:2015-01-29 11:17:10

标签: emacs org-mode

在组织模式中,删除了许多带有附件文件的标题后,不同用的文件现在仍保留在我的数据子目录中的光盘上。

是否有一个函数或脚本可以找到所有不相关的文件并进行清理?

1 个答案:

答案 0 :(得分:3)

我在搞乱了org-capture-templates之后遇到了同样的问题,然后删除了一堆没有按照我想要的方式出现的条目。

我写下了这个脚本,它完成了工作(对我而言)。

#!/bin/sh

## Location where org-mode stores attachments
datadir="$HOME/Dropbox/Documents/Org/data";
orgdir="$HOME/Dropbox/Documents/Org/"

echo "The following files appear orphaned:";

files=$(find "$datadir" -type f|perl -ne 'print "$1\n" if /([^\/]*)\/[^\/]*$/'|uniq|while read id; do grep -qiR --include "*.org" "$id" "$orgdir" || find "$datadir" -ipath "*$id*" -type f; done)

echo "$files"

if [ "" == "$files" ]; then
   echo "Nothing to do!"
   exit
fi

echo "Delete? y/[n]"
read delete
case $delete in
    y)
        echo "$files" |
        while read fn; do
        rm "$fn";
        done
    echo "Done."
        ;;
    *)
        echo "Not deleting anything!"
        ;;
esac