小编Eva*_*n C的帖子

grep为什么还包括.和..在我的文件列表中,即使它与我给它的正则表达式不匹配?

我想要做的是获取所有UTF16 Unicode图表的集合.我从http://unicode.org/charts/PDF/下载了所有pdf文件,并决定使用perl来删除所有特殊或UTF32图表,其中包含以下脚本:

#!/usr/bin/perl

opendir(my $dir, ".");
my @files = grep {!/^U[0-9,A-F]{4}\.pdf/ && !/utf16only.pl/} readdir($dir);
for $f (@files)
{
    print "deleting $f...\n";
    #unlink $f;
}
closedir($dir);
Run Code Online (Sandbox Code Playgroud)

当我运行脚本时,我得到以下输出:

C:\Users\Evan\Downloads\Unicode 6.1 Charts>utf16only.pl
deleting ....
deleting .....
deleting 10FF80.pdf...
deleting ErrorLink.pdf...
deleting U10000.pdf...
deleting U100000.pdf...
deleting U10080.pdf...
deleting U10100.pdf...
deleting U10140.pdf...
deleting U10190.pdf...
deleting U101D0.pdf...
deleting U10280.pdf...
deleting U102A0.pdf...
deleting U10300.pdf...
deleting U10330.pdf...
deleting U10380.pdf...
deleting U103A0.pdf...
deleting U10400.pdf...
deleting U10450.pdf...
deleting U10480.pdf...
deleting U10800.pdf...
deleting U10840.pdf...
deleting U10900.pdf...
deleting U10920.pdf...
deleting …
Run Code Online (Sandbox Code Playgroud)

regex filesystems perl readdir unlink

1
推荐指数
2
解决办法
310
查看次数

标签 统计

filesystems ×1

perl ×1

readdir ×1

regex ×1

unlink ×1