bash 清理Kindle产生的垃圾

bash 清理Kindle产生的垃圾_第1张图片

   因为机器是多看系统,你每增加一本书,都会生成一些相应的记录文件在你的目录下,比如 *.dir *.mbp 这些式样的文件,搞得目录里各种杂七杂八的文件,如果你将Kindle挂载在电脑上删除一本书而没有删除这些自动生成的文件,那么这些文件就永远也无法删除了,而且我怀疑多看系统到底有没有做好这些清理工作,毕竟我的目录下一大堆*.dir 难免会搞得人有些不舒服。

   bash脚本清理整个Kindle目录

#!/bin/bash
function printUsag()
{
 echo '	usag: cleanKindle Kindlefloder [-option]'
 echo '	option: d: delete the garbage'
 echo '	all because : LoveWQ'
}


function searchDir()
{
 dir=$1
 for x in "$dir"/*
 do
 if [ -n "$x" ] && [ "${x%.dir}" != "$x" ]
 then
 if ! [ -a "${x%.dir}" ]
 then
 echo "$x" is garbage
 if [ "$option" = "-d" ]
 then
 rm -ri "$x"
 fi
 fi
 elif [ "${x%.dir}" = "$x" ]  && [ -d "$x" ]
 then
 searchDir "$x"
 fi
 done
}
Kindlefloder=$1
option=$2


if  [ -n "$Kindlefloder" ]&&[ -d "$Kindlefloder" ]
then
 searchDir "$Kindlefloder" "$option"
else
 printUsag
fi

  

功能就是递归遍历Kindle的整个文件系统,找出有 xxx.txt.dir xxx.pdf.dir 而没有 xxx.txt/xxx.pdf文件这些孤立的*.dir ,然后认定为垃圾并且输出来

比如我这样使用 (脚本命名为cleanKindle)

loveWenQing ~$ ./cleanKindle /media/Kindle/
/media/Kindle//DK_Documents/c++/bat.txt.dir is garbage
loveWenQing ~$ 


这样就找出了一条残留在Kindle里的垃圾文件。本来想想中垃圾文件应该很多才对的,结果有这一个。说明在系统内部的话还是已经清理干净了,只有自己在电脑上删除书籍才会留下垃圾。虽然如此不过如果能帮助到linuxer清理自己的Kindle也是很开心的。

用法:

cleanKindle usag:

usag: cleanKindle Kindlefloder [-option]
option: d: delete the garbage
all because : LoveWQ


 heihei,夏日的清凉。



你可能感兴趣的:(bash,kindle)