Drafts

@cm3 の草稿置場 / 少々Wikiっぽく使っているので中身は適宜追記修正されます。

sqlite で ダブルクオートの含まれた tsv をインポートする

sqlite で tsv 読み込むには .separator "\t" してから .import allCountries.txt geonames みたいにインポートするけれど、これだと各項目にダブルクオートが含まれてると項目数を誤認識してエラーになる。csvのセパレータ変えただけの仕様なので項目全体をダブルクオートで囲んで元のダブルクオートを二重にしておけばいいのだけれど、例(Shui-k"ou Kuan"Shui-k""ou Kuan" ダブルクオートをこのように使う言語もあるのだ Shui-k”ou Kuan) そのワンライナーは、

cat allCountries.txt | perl -pe 's/"/""/g;s/([^\t]*)/"$1"/g' > allCountries_escaped.txt