カビパン男と私

HOME/横書き縦書き

フリーの英和辞典をコマンドラインで引きたい

ターミナルを使っていて、ど忘れした英単語の意味を確認したり、綴りを調べたりしたいことがある。ちゃんとした辞書アプリを立ち上げるのも面倒だ。で、コマンドラインからごく簡単な英和辞典が引けるといいんだが。

ありがたくも 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