我有一个包含两列整数值的输入文件。我想以这种方式砍掉输入文件
input file:
...
...
12312 565456
565456 12312
...
...
#
output file:
...
...
12312 565456
...
...
即如果两个数字偶然存在多次,则在输出文件中写入唯一的行,其中第一个数字是两个中较小的一个。
如何使用sort或perl脚本完成?
答案 0 :(得分:2)
您可以尝试:
perl -nale ' @F=reverse @F if($F[0]>$F[1]);
$x=$F[0]." ".$F[1]; if(!$h{$x}){print $x;$h{$x}=1;}'
答案 1 :(得分:1)
您可以合并perl
和sort
:
perl -lne 'BEGIN { $, = " " } print sort split' infile | sort -u
答案 2 :(得分:0)
awk -vOFS="\t" '$2<$1 {print $2,$1} $1<=$2 {print}'|sort -u
也可以使用