2012年9月13日木曜日

文字列の一致・不一致

二つのファイルに

aiueo
baby
cout
..

という感じでデータがあって,
改行までをそれぞれ一本の文字列としたときに
共通する文字列の本数を知りたいときには
どうやったら速いんでしょうか.


C++で
getline -> mapにin -> find
の流れにしようかと思いましたが,

めんどーだったので
diff file1 file2 | grep ">"| wc
diff file1 file2 | grep "<"| wc
でなんとかしました.

でも毎回ソートするのがめんどくさい...!!!!ヾ( ゚Д゚)ノ゛

(しかも結果が目で見て数えたのと違った...多分目の方が違うんでしょうが(笑)



(追記)
しょうがないのでシェルスクリプトを書きました.
ぐぐったらシェルスクリプトならば
diff <(filename) <(filename2)
とやるとソートの中間ファイルを作らずにdiffまで持って行けるらしい.


便利ですなあ.

0 件のコメント:

コメントを投稿