在使用VIM的过程中,会产生大量以波浪线(~)结尾的VIM临时文件,请问有没有一条删除所有VIM临时文件的命令?
rm .~
好像可以,不知道会产生不良后果吗?总感觉不是很安全
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
#!/usr/bin/env python3
# fileencoding=utf-8
'''从列表中读取备份文件(*~)列表,并检测原文件是否存在;若不存在则删之'''
import sys, os
import subprocess
import datetime
if len(sys.argv) == 1:
db = None
elif len(sys.argv) == 2:
db = sys.argv[1]
else:
sys.exit('argument error')
if db:
f = subprocess.getoutput("locate -d '%s' -e -b '*~' 2> /dev/null" % db).split('\n')
else:
f = subprocess.getoutput("locate -e -b '*~' 2> /dev/null").split('\n')
def filter(i):
if not os.path.isfile(i[:-1]):
return True
try:
atime = datetime.datetime.fromtimestamp(os.stat(i).st_atime)
except FileNotFoundError:
return False
now = datetime.datetime.today()
interval = datetime.timedelta(days=30)
if now - atime > interval:
return True
return False
for i in f:
if i.endswith('~') and os.access(os.path.split(i)[0], os.W_OK):
if filter(i):
try:
print("删除", i)
try:
os.unlink(i)
except FileNotFoundError:
print(i, '在被删除前消失了:-(')
# print(i)
except:
print(i+': error'+repr(sys.exc_info()), file=sys.stderr)