【Lifehacks】2つのリストから和・差・積集合を求める
タスク:
・2つのリストファイルから、和(重複なくマージ)、差(どちらか一方のみに含まれる)、積(共通部分)集合を求める。
ソリューション:
・CygWin32(Unixコマンド)のsort、uniqを組み合わせて実現。
用途:
・データログから文書IDを抽出後、登録・削除の動きを追跡。
・破壊されたDBと、古いバックアップから、無理やり復旧。
・ちょっとだけ取得タイミングが異なった二つのデータを整理。
・等々
: : SgCmpList.bat : -- 2つのリストから、和・差・積集合を求める。 : : Author: Orihika Ikuo : Create: 2007.03.26 : Update: 2007.XX.XX : : Note: : ・入力ファイルは、1アイテム1行のリストファイルとする。 : ・入力ファイル中で重複行はないものとする。 : :::: Input set List01=List01.txt set List02=List02.txt :::: Output set Union=Union.txt set Intsec=Intsec.txt set Only01=Only01.txt set Only02=Only02.txt cat %List01% %List02% | sort | uniq > %Union% cat %List01% %List02% | sort | uniq -d > %Intsec% cat %List01% %Intsec% | sort | uniq -u > %Only01% cat %List02% %Intsec% | sort | uniq -u > %Only02%