我正在对 perl 中具有多列的文本文件进行一些过滤
该文件具有以下格式:
C1 C2 C3 C4
1 .. .. ..
2 .. .. ..
3 .. .. ..
3 .. .. ..
3 .. .. ..
我想删除第 1 列中所有具有唯一值的行。所以输出应该是这样的:
C1 C2 C3 C4
3 .. .. ..
3 .. .. ..
3 .. .. ..
我正在用这个文件做不同的过滤步骤。这是我正在使用的脚本
my $ DATA
my $filename = $ARGV[0];
unless ($filename) {
print "Enter filename:\n";
$filename = <STDIN>;
chomp $filename;
}
open($DATA,'<',$filename) or die "Could not open file $filename $!";
open($OUT,'+>',"processed.txt") or die "Can't write new file: $!";
while(<$DATA>){
next if /^\s*#/;
print $OUT $_;
}
close $OUT;
正如你所看到的,我正在一个 while 循环中工作,在这个循环中我已经使用下一个命令从文件中删除注释行。现在我想在这个循环中添加命令以删除第 1 列中具有唯一值的所有行。
有人可以帮我解决这个问题吗?