2

整数値の 2 つの列を含む入力ファイルがあります。このように入力ファイルをチョップしたい

 input file:
 ...
 ...
 12312 565456
 565456 12312
 ...
 ...     

#

 output file:
 ...
 ...
 12312 565456
 ...
 ...

つまり、2 つの数値が複数回存在する場合、出力ファイルに一意の行を書き込みます。最初の数値は 2 つのうち小さい方です。

ソートまたはPerlスクリプトでどのように行うことができますか?

4

3 に答える 3

2

あなたが試すことができます:

perl -nale ' @F=reverse @F if($F[0]>$F[1]);                 
             $x=$F[0]." ".$F[1]; if(!$h{$x}){print $x;$h{$x}=1;}'

見る

于 2012-07-16T11:38:36.293 に答える
1

あなたは組み合わせることができperlますsort

perl -lne 'BEGIN { $, = " " } print sort split' infile | sort -u
于 2012-07-16T12:08:48.660 に答える
0
awk -vOFS="\t" '$2<$1 {print $2,$1} $1<=$2 {print}'|sort -u

も動作します

于 2012-07-16T13:13:50.080 に答える