这是我在perl的第一个程序。 我有超过1000个文件,我想从文件中提取特定数据。所有文件的结构都是一样的。 打开每个文件然后复制特定数据真的很难,
如何使用perl实现此目的。
结构看起来像这样。
LensMode=Normal
MicronMarker=500
DataDisplayCombine=1
Voltage=0 Volt
PixelSize=1.586612
我想从每个文件中提取MicronMarker和PixelSize。 我们赞赏任何正确方向的帮助。
位置为D:\ Files \ Folder1
答案 0 :(得分:2)
试试这个
使用glob
阅读目录
while (my $files = glob(" D:\Files\Folder1\*"))
{
open my $handler,"<","$files";
my @extract = grep{ m/^(MicronMarker|PixelSize)/g} <$handler>;
print @extract;
}
使用while loop
opendir
提取文件中的单词。
opendir(my $dir, " D:\Files\Folder1");
while (my $ech = readdir($dir))
{
open my $handler,"<","test/$ech";
while(my $l = <$handler>)
{
if($l =~m/^(?:MicronMarker|PixelSize)/g)
{
print "$l";
}
}
close ($handler);
}
这是使用grep
while (my $ech = readdir($dir))
{
open my $handler,"<","test/$ech";
my @extract = grep{ m/^(MicronMarker|PixelSize)/g} <$handler>;
print @extract;
close($handler);
}