Skip to main content

Script for dictionary lookup

#!/bin/bash
# dictionary v1.5.5 - to dump dictionary outputs from the web. Uses the google dictionary but can be used for any other online dictionary.
# Needs lynx to work.
# by JOnes ( August 16, 2010 )

# ANSI Color -- use these variables to easily have different color
#    and format output. Make sure to output the reset sequence after
#    colors (f = foreground, b = background), and use the 'off'
#    feature for anything you turn on.

initializeANSI()
{
  esc=" "

  blackf="${esc}[30m";   redf="${esc}[31m";    greenf="${esc}[32m"
  yellowf="${esc}[33m"   bluef="${esc}[34m";   purplef="${esc}[35m"
  cyanf="${esc}[36m";    whitef="${esc}[37m"
 
  blackb="${esc}[40m";   redb="${esc}[41m";    greenb="${esc}[42m"
  yellowb="${esc}[43m"   blueb="${esc}[44m";   purpleb="${esc}[45m"
  cyanb="${esc}[46m";    whiteb="${esc}[47m"

  boldon="${esc}[1m";    boldoff="${esc}[22m"
  italicson="${esc}[3m"; italicsoff="${esc}[23m"
  ulon="${esc}[4m";      uloff="${esc}[24m"
  invon="${esc}[7m";     invoff="${esc}[27m"

  reset="${esc}[0m"
}

# note in this first use that switching colors doesn't require a reset
# first - the new color overrides the old one.

initializeANSI


echo -e "\n   dictionary v1.5.5 - to dump dictionary outputs from the web. Uses the google dictionary but can be used for any other online dictionary.\n   by JOnes ( August 16, 2010 )"

# check if lynx is installed
if [ `which lynx` == "" ] ; then
   echo -e "    Install for this script to work.\n\n   Exiting ......\n"
   exit 1
fi

# check if user supplied the word
if [ "$1" == "" ] ; then
   echo -e "\n   ${redf}${boldon}ERROR : Did not supply a word. ${boldoff}${reset}\n\n   ${greenf}Usage: dictionary-lookup ${reset}\n\n   Exiting ......\n"
   exit 1
else
   word=$1
fi

# check if user provided filename otherwise use default
if [ "$2" == "" ] ; then
   echo -e "\n   ${redf}${boldon}Did not supply a file name. \n   Using default : dictionary-wordlist${boldoff}${reset}\n\n   ${greenf}Usage: dictionary-lookup ${reset}\n"
   filename1="dictionary-wordlist"
else
   filename1=$2
fi

# check if the word meaning is already present in the file
existingword=`cat $filename1 | grep $word`
if [ "$existingword" == "" ] ; then
   lynx -dump "http://www.google.com/dictionary?aq=f&langpair=en|en&q=$word&hl=en" > .tmp-dic1
   word1="|"$word"|"
   cat .tmp1  |  awk "/Dictionary/,/©2009/"  | grep -v "Search Dictionary" | grep -v "Google Home" |  sed 's/listen//' | sed 's/...]//' > .tmp-dic2

# check if there are no dictionary definitions were found.
    crapword=`cat .tmp2 | grep "No dictionary definitions were found"`
   if [ "$crapword" == "" ] ; then
        echo $word1  >> $filename1
        cat .tmp2 >> $filename1
        echo -e "\n   Output written to default output file : dictionary-wordlist\n"
   else
        echo -e "\n    ${cyanb}${boldon} $crapword   ${boldoff}${reset}\n"
   fi
else
   echo -e "   Word exists in the file ..."
fi

# if temporary files exist then remove them

if [ -f .tmp-dic1 ];
then
   rm .tmp-dic1
fi

if [ -f .tmp-dic2 ];
then
   rm .tmp-dic2
fi

Comments

Popular posts from this blog

Fastest way to send multiple drafts from gmail

People claim that the fastest way to send multiple email drafts is to use Gmail IMAP with email client like Outlook or Evolution or Thunderbird. But I have found this is not true. Because Thunderbird and Evolution etc. email clients treats the drafts as emails still to be edited. So it is not just simple select all and hit send. Each email draft has to be opened and sent separately. That is a lot of clicks and mouse movements, wasting precious time and energy. I have a better solution which involves minimum keystrokes and mouse usage. Efficiency booster technique for sending emails. If someone is feeling adventurous and want to try it from the Gmail interface itself, here's how to do it in the fastest possible manner. It involves using the mouse once. Select the first draft. Gmail would open a new email box and put the cursor inside the box to write. Press TAB once to go the Send button. Press ENTER to send. Now Gmail sends it and the box is gone but the highlight goes to the last

LYRICS OF CHANDRABINDOO

___________________________________________________________________ SWEET HEART FROM AAR JAANI NAA(T-SERIES) -- SWEETHEART -- Pratham college-er din ta Aajo thik e mone poRey scene ta Dada didi haath dhorey siNRi tei bose poRey Aamar chokh ta ghorey bon bon bon bon Sweetheart, I am seating alone Sweetheart, for me there is none DhoNk gile chole gelo pratham maas Meye dekhlei feli deergho-shwash DhoNk gile chole gelo pratham maas Meye dekhlei othe nabhishwash Meyera bheeshan smart poRey chhoto mini-skirt Aamar e je sheet korey kon kon kon kon Sweetheart, I am seating alone Sweetheart, for me there is none Taarporey kete gelo maas chaar Fuse holo je kato future Bandhura purse khule eke oke taake tole Aamar pran ta korey chon mon chon mon Sweetheart, I am seating alone Sweetheart, for me there is none Ekdin lawn theke beriye Ek tanayaar dike taakiye Hawt korey ki je holo magaj ta ghurey gelo Taar kaaner saamne kori ghyan ghyan ghyan ghyan Sweetheart, I am seating alone Sweethea

Changing the font size of section headings in LaTex

You have several ways to do so: 1.- A direct redefinition of \section: \makeatletter \renewcommand\section{\@startsection{section}{1}{\z@}%                                   {-3.5ex \@plus -1ex \@minus -.2ex}%                                   {2.3ex \@plus.2ex}%                                   {\normalfont\large\bfseries}} \makeatother 2.- By means of the titlesec package: \usepackage{titlesec} \titleformat{\section}{\large\bfseries}{\thesection}{1em}{} 3.- By means of the sectsty package: \usepackage{sectsty} \sectionfont{\large} source : http://www.latex-community.org/forum/viewtopic.php?f=4&t=3245   Now, I would explain the titlesec package a bit more (because it seems easier to me and with more options) : To change the section fonts with this package put the following lines in the preamble - \usepackage{titlesec} \titleformat{\ section }{\ large \ bfseries }{\thesection}{1em}{} Options available are- a> Font size - \normals