wiki:删除无用png文件
删除无用png文件
1. python程序
python3代码,可直接在qnap上运行。
[~] # cat ./del_unused_png_in_wiki.py #!/usr/bin/env python3 # -*- coding: UTF-8 -*- # source /etc/profile.d/python3.bash # python3 ./del_unused_png_in_wiki.py import re import sys import os import os.path file_list = [] def search(path): for entry in os.scandir(path): if entry.is_file(): file_list.append(entry.path) #print(entry.path) else: search(path+'/'+str(entry.name)) if __name__=='__main__': #path = sys.argv[1] path = "/share/Web/wiki/data/media" search(path) for tmp in file_list: if (re.search(r'pasted', tmp) == None): continue if (re.search(r'png', tmp) == None): continue name = os.path.basename(tmp) #print(f'tmp = {tmp}, name = {name}') ret = os.system(f'grep {name} /share/Web/wiki/data/pages/* -r -q') #print(f'ret = {ret}') if (ret != 0): print(f'rm -rf {tmp}') [~] # [~] # source /etc/profile.d/python3.bash [~] # python3 ./del_unused_png_in_wiki.py [~] # [~] #
2. perl程序
执行下面这个perl脚本,为显示出未使用的png文件,然后可以手动将其删除。
#!/usr/bin/perl use File::Basename; $wiki_path = "/var/www/html/dokuwiki"; $findret = `find $wiki_path/data/media -name *.png`; @ar = split(/\n/, $findret); foreach $line (@ar) { $name = &basename($line); $ret = `grep $name $wiki_path/data/pages/* -r`; if ($ret eq "") { print "rm -rf $line\n"; } }
wiki/删除无用png文件.txt · 最后更改: 2024/10/06 15:19 由 admin