#! /bin/sh # usage: dic WORD [LANG] # where LANG may be one of en, fr, es, it, ch, ru, pt, pl # multiple WORDs may be seperated by + like this: multiple+words set -euf # all three are used by GET search="$1" langlang="${2-en}de" lang="de" main() { GET | simplify | tac } GET() { curl -sS -b 'LEOABTEST=T; browser=webkit%3B5%3Bajax' \ "https://dict.leo.org/dictQuery/m-vocab/$langlang/query.xml?tolerMode=nof&lp=$langlang&lang=$lang&rmWords=off&rmSearch=on&search=$search&searchLoc=0&resultOrder=basic&multiwordShowSingle=on" } simplify() { sed ' s||\nREPR: |g s||\n|g ' | grep ^REPR | sed ' s/^REPR: // 1~2{s/$//} 2~2{s/$//} ' | tr -d \\n | sed ' s// - /g s//\n/g #q s/⇔/⇔/g s/ / /g; #   s/ */ /g # s/ *//g s| *|/|g s| *|/|g s:1:¹:g; s:2:²:g; s:3:³:g; s::^(:g s::):g s:0:₀:g; s:1:₁:g; s:2:₂:g; s:3:₃:g; s:4:₄:g; s:5:₅:g; s:6:₆:g; s:7:₇:g; s:8:₈:g; s:9:₉:g; s::_(:g s::):g s: *::g s: *::g s| *||g s| *||g ' } main "$@" exit #s|\([^<]\|<[^/]\|]\)*|\nREPR: &\n|g #s/]*>//g #s/<[^>]*>//g | { IFS="`printf '\t'`" while read a b; do printf '%30s %-30s\n' "$a" "$b" done } } #| tr -d \\n | #tr \\n #s/^REPR: /en:/; #s/^REPR: /de:/;