一列目と二列目の値が同じ行をまとめるスクリプト。
例えば、次のようなファイル
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