フリーの英和辞典をコマンドラインで引きたい
ターミナルを使っていて、ど忘れした英単語の意味を確認したり、綴りを調べたりしたいことがある。ちゃんとした辞書アプリを立ち上げるのも面倒だ。で、コマンドラインからごく簡単な英和辞典が引けるといいんだが。
ありがたくも https://github.com/kujirahand/EJDict でパブリックドメインの英和辞書データが手にはいる。
重ねてありがたいことに、kujirahand さんは https://kujirahand.com/web-tools/EJDictFreeDL.php でテキスト形式と sqlite3 形式のデータを配布している。
さて、このデータは一体どういうものなのかというと、https://kujirahand.com/web-tools/EJDictFreeDL.php で配布されているデータの README.txt に書いてある。
「もともと学校などに無償配布されていた英和辞典ファイル」で「作者などは不明とされ」ているものがあり、それに「含まれる間違いを修正した」ものが PrepTutorEJDIC( http://www.tagoemura.com/ptdic.html )で、さらにそれに「大々的な誤字脱字の修正を行」い、「ライセンスを明確にパブリックドメインとし、皆様から寄せられる修正加筆を日々反映してい」るものが、このデータであるという。
今回は sqlite3 形式のデータを使ってみることにした。
配布されている sqlite3 ファイルは次のような具合。
ファイル名: ejdict.sqlite3
テーブル名:items
カラム:
item_id 主キー
word 英語
mean 日本語
引く
いちいち sql を書くのはめんどうだから、シェルスクリプトを作ってパスを通しておく。スクリプトの中身は次の通り。同じディレクトリに置いてある ejdict.sqlite3 を検索する。
word=$*
file=$(dirname $0)/ejdict.sqlite3
sqlite3 $file "select word,mean from items where word like '${word}'";
これで、
$ ej monkey
monkey|『さる』(猿)(普通小さくて尾のあるサル) / 《話》猿に似た顔つきの人(動作をする人);(特に)いたずら小僧 / 《英俗》500ポンド,500ドル / (…を)いじる《+『around with』+『名』》
のように引ける。ワイルドカードとして % が使えるので、前方一致は
$ ej monkey%
monkey|『さる』(猿)(普通小さくて尾のあるサル) / 《話》猿に似た顔つきの人(動作をする人);(特に)いたずら小僧 / 《英俗》500ポンド,500ドル / (…を)いじる《+『around with』+『名』》
monkey business|詐欺,いんちき / いたずら
monkey nut|=peanut
monkey puzzle|チリスギ(常緑針葉樹で,葉は密生し堅く鋭い)
monkey suit|(男子用)夜会服、(パイロットなどの)制服、正装
monkey tricks|=monkey business
monkey wrench|モンキー,自在スパナ
monkeyshine|悪ふざけ,いたずら
てな感じ。
めでたしめでたし。
@kabipanotoko