一列目と二列目の値が同じ行をひとつにまとめる。 

一列目と二列目の値が同じ行をまとめるスクリプト

例えば、次のようなファイル

InputFile.csv

1,2,a,b,c,d
3,2,e,f,g,j
1,2,a,b,c,d
2,1,b,a,d,c
5,2,d,f,c,s

を一行目と二行目の値が共通するもの
をひとまとめにしたものに整理。
(一行目と三行目と四行目をひとまとめにする)



OutputFile.csv

1,2,a,b,c,d
3,2,e,f,g,j
5,2,d,f,c,s

スクリプト

sort -t"," -k 1,1n -k 2,2n InputFile.csv > tmp1


awk -F, '
        BEGIN{

                strold1="xxx";
                strold2="yyy";

        }


        {

                if($1<$2){str1=$1;str2=$2}else{str1=$2;str1=$1}

        }

        strold1 != str && strold2 != str2{

                print $0;

    }



        {
                strold1=str1;
                strold2=str2;
        }

      END{

                print $0;

        }
        ' tmp1 >  OutFile.csv