不小心把nas里的电影文件夹很多搜刮的文件重命名成了好多包含中文的文件,想问下什么命令可以批量删除,文件名是类似这样的,前面都是带有中文的电影名。google了一些命令,大部分都是匹配内容的
蝙蝠侠:黑暗骑士崛起.2012.720p.h264.nfo
蝙蝠侠:黑暗骑士崛起.2012.720p.h264.xml
# 先观察一下结果
find . -not -name '[\x80-\xFF]*'
# 没问题,再做删除
find . -not -name '[\x80-\xFF]*' -delete
Non-ASCII characters start at 0x80 and go to 0xFF when looking at bytes.
find . -not -name '[\x80-\xFF]*'
只找出了以非 ASCII 开头的文件(测试.txt
),找不到中间有中文的文件(b测试.txt
)。
% ls
a.txt b测试.txt 测试.txt
% find . -not -name '[\x80-\xFF]*'
.
./测试.txt
find . -not -name '[\x80-\xFF]*'
这个命令的结果有些问题,原因未因。
everything搜索regex:[^\x00-\xff]
感谢!
我尝试了一下,会把带_的文件以及电影文件也找出来了。最后还是重建了一下nfo文件,剩下的先不管了。
感谢!文件由于在nas,远程用这个比较慢,但效果还可以。
感谢,everyting nas不知为何连不上ftp,我再摸索下