我是 perl 编程的新手。 我想读取文件数据,然后对第 1 列的记录进行排序,然后对第 2 列的记录进行排序(删除重复记录)并将排序后的记录存储到另一个文件中。以下是我的数据
第一列和第二列用制表符分隔
user1 name user2 name
abc xyz
adc xyz
abc xyz
pqr tyu
xyz abc
tyu pqr
abc pqr
在这个例子中,我想先对 user1 名称的记录进行排序,然后对 user2 名称进行排序,并且在排序时我想删除重复的记录。
输出应该如下
user1 name user2 name
abc pqr
abc xyz
adc xyz
pqr tyu
tyu pqr
xyz abc
请告诉我如何实现这个 perl?
最佳答案
#!/usr/bin/env perl
use strict;
use warnings;
my @list = <DATA>;
my $prev;
for (sort @list) {
next if $prev && $_ eq $prev;
$prev = $_;
print;
}
__DATA__
abc xyz
adc xyz
abc xyz
pqr tyu
xyz abc
tyu pqr
abc pqr
关于perl - 我们如何使用 perl 对第 1 列和第 2 列用户数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8420279/