如果你有在deepin系统下清理文件管理器的搜索历史记录的需求,请看以下解决方法。
前言
文件管理器的搜索历史在关闭文件管理器之后保存在了文件,地址是~/.config/deepin/dde-file-manager/dde-file-manager.obtusely.json当中。
那么要清除文件管理器的搜索历史也就是把dde-file-manager.obtusely.json这个文件中的相关文本删除,只不过有个前提是在打开这个文件之前先得把文件管理器关闭。
先说下我的系统和软件版本:
(1)OS:Deepin 15.10.1版本
(2)文件管理器,命令行中dde-file-manager -v显示版本为 4.8.4。
解决方法1
打开dde-file-manager.obtusely.json文件后,如有有搜索历史记录的话,是出现在如下图所示的位置的,图片显示的是有2条记录:
把图片中红色箭头指向的两行删除,再保存文件就可以了,重新打开文件管理器,就没有搜索历史记录了。
解决方法2
另外,写了一个sh脚本文件,可放在任意目录下面,然后在该目录下打开终端,在终端中执行此脚本就可以清除上述搜索历史记录,更省事一点,例如:
sh脚本文件名称:del_file_search_cache_simple.sh
内容如下:
#!/bin/bash
# Deepin 15.10.1 测试通过
# 删除文件管理器的搜索栏的搜索历史缓存
# 具体操作:
# 将当前用户的目录下的文件管理器的缓存文件中的相关记录删除掉。
# 作者:new2dp
# 日期:2019-06-16。
# CopyLeft 2019, new2dp。版权部分所有,遵循WHATEVER协议。
echo "检查、删除文件管理器的搜索栏的搜索历史缓存:"
startline=0
del_st=0
endline=0
del_end=0
linecount=0
restart=0
# 测试用
#filepath=~/Documents/dde-file-manager.obtusely.json
filepath=~/.config/deepin/dde-file-manager/dde-file-manager.obtusely.json
if [ ! -f "${filepath}" ];then
echo ""
echo "文件${filepath}不存在。"
echo "已退出检查。"
else
# 在命令行中显示目前的缓存文件的内容。不想显示的话,将下面五行注释掉即可。
#echo "当前用户的文件管理器的搜索缓存文件内容如下:"
#echo "文件名:${filepath}"
#echo ""
#cat ${filepath}
#echo ""
# 以上五行可注释掉。
while read line
do
linecount=$(expr ${linecount} + 1)
# echo ${linecount}
if [ "${line}" == "\"SearchHistroy\": [" ]; then
startline=${linecount}
del_st=$(expr ${linecount} + 1)
# echo ${startline}
fi
if [ "${line}" == "]" ]; then
endline=${linecount}
del_end=$(expr ${linecount} - 1)
# echo ${endline}
fi
done < ${filepath}
del_is=0
del_is=$(expr ${endline} - ${startline} - 1)
if [ ${del_is} -gt 0 ]; then
sed -i ${del_st},${del_end}d ${filepath}
echo "已删除 ${del_is} 条搜索记录缓存!"
restart=1
else
echo "没有检查到搜索记录缓存。"
echo "小提醒:执行本脚本前,请关闭文件管理器。"
fi
echo "检查完成!"
if [ ${restart} -eq 1 ];then
# 在命令行中显示删除了搜索记录缓存后的文件内容。不想显示的话,注释掉下面五行即可。
# echo "删除搜索记录缓存后的文件内容如下:"
# echo "文件名为${filepath}"
# echo ""
# cat ${filepath}
# echo ""
# 以上五行可注释掉。
echo "现在可以重新打开文件管理器使用了。"
echo ""
fi
fi
结语
直接资源管理器搜索dde-file-manager.obtusely.json这个文件,然后用自带的编辑器打开,手动删除里面不想保留的记录,然后Ctrl+s退出即可。
相关主题