【发布时间】:2015-09-30 13:39:24
【问题描述】:
我在研究时发现的答案指向使用grep,特别是因为数组不超过 20-40 个元素。
我有两个文件名数组,@allfiles 和 @keepfiles。我想删除文件名仅存在于@allfiles 中的文件。 @allfiles 的元素比 @keepfiles 多。
我想使用类似的东西:
for(my $ii=0;$ii<=$allfilesSize-1; $ii++)
{
# if the current element of @allfiles is not in @keepfiles, delete the file
unless(grep(@allfiles->[$ii],@keepfiles))
{
my $command = "del <value of @allfiles->[$ii]>";
system($command);
}
}
我不知道如何编写grep 语句。
要么我不知道如何正确引用数组元素的值,要么不编写正则表达式,或者很可能两者兼而有之。还是有更好的方法来做到这一点?
【问题讨论】: