javalink.sh

 

#
### link.sh
###
### Usage:
###
###    depotlink.sh file.html phrase
###
### Create link to file.html in all html files that have phrase 
### Run this from the directory where file.html is located
###
###
### You'll probably want to change xdir to reflect your environment
 
 
xdir=/usr/tomcat/webapps/ROOT/dev
 
 if [ "$2" = "" ]
 then
    echo "Usage: $0 filename phrase"
    exit 1
 fi
 
 
 file=$1
 key1=$2
 key2=$3
 key3=$4
 
 
 if [ ! -f $file ]
 then
    echo "File $file does not exist"
    exit 1
 fi
 
 path=`pwd | sed "s/\/usr\/tomcat\/webapps\/ROOT//" | sed "s/\////g"`
 
 
 phrase=$key1
 
 if [ "$key2" != "" ]
 then
    phrase="${key1} ${key2}" 
 fi
 
 if [ "$key3" != "" ]
 then
    phrase="${key1} ${key2} ${key3}"
 fi
 
 
 
for i in `find $xdir -name \*.html -print | grep -v "/$file" `
 do
 
 
     if `grep -w "$grep" $i >/dev/null 2>/dev/null`
     then
 
         atag=`/usr/local/bin/atag.sh $i $grep`
         if `echo $atag | grep 1 >/dev/null 2>/dev/null`
         then
             echo "disqualified atag"
             continue
         fi
 
         titletag=`/usr/local/bin/titletag.sh $i $grep`
         if `echo $titletag | grep 1 >/dev/null 2>/dev/null`
         then
             echo "disqualified titletag"
             continue
         fi
 
         h1tag=`/usr/local/bin/h1tag.sh $i $grep`
         if `echo $h1tag | grep 1 >/dev/null 2>/dev/null`
         then
             echo "disqualified h1tag"
             continue
         fi
 
 
         Atag=`/usr/local/bin/Atag.sh $i $grep`
         if `echo $Atag | grep 1 >/dev/null 2>/dev/null`
         then
             echo "disqualified Atag"
             continue
         fi
 
         TITLEtag=`/usr/local/bin/TITLEtag.sh $i $grep`
         if `echo $TITLEtag | grep 1 >/dev/null 2>/dev/null`
         then
             echo "disqualified TITLEtag"
             continue
         fi
 
         H1tag=`/usr/local/bin/H1tag.sh $i $grep`
         if `echo $H1tag | grep 1 >/dev/null 2>/dev/null`
         then
             echo "disqualified H1tag"
             continue
         fi
 
 
         xfile=`echo $file | sed "s/\////g"`
     
         p="http://www.setgetweb.com${path}/${xfile}"
 
         echo " "
         echo "Creating link in:"
         echo "    $i"
         echo " "
         echo "using the phrase: "
         echo "    $grep"
 
         echo " "
 
         ###
         ### The syntax below fails if term is on line twice, with one bad term and one good term.
         ### It matches against the good term, and then replaces the bad term.  For example
         ### if term is target, and the line contains "xyztargetxyz" and " target ", it will match
         ### against the latter, and replace the former.  Quel dommage.
         ###

         #sed "/[ 	\.,\'\/\"(]$grep[ 	,;\'\"($]/s/$phrase/<a href=\"$p\">$phrase<\/a>/"  $i | \


         ###
         ### Here is the compromise syntax
         ###

         sed "s/ $grep / <a href=\"$p\">$phrase<\/a> /"  $i | \
         sed "s/\.$grep;/\.<a href=\"$p\">$phrase<\/a>;/"  | \
         sed "s/<b>$grep<\/b>/<a href=\"$p\">$phrase<\/a>/"  | \
         sed "s/<i>$grep<\/i>/<a href=\"$p\">$phrase<\/a>/"  | \
         sed "s/<b>$grep,/<b><a href=\"$p\">$phrase<\/a>,/"  | \
         sed "s/$grep<\/b>/ <a href=\"$p\">$phrase<\/b>,/"  | \
         sed "s/ $grep\./ <a href=\"$p\">$phrase<\/a>\./"  | \
         sed "s/ $grep\,/ <a href=\"$p\">$phrase<\/a>\,/"  | \
         sed "s/ $grep(/ <a href=\"$p\">$phrase<\/a>(/"  | \
         sed "s/($grep /(<a href=\"$p\">$phrase<\/a> /"  | \
         sed "s/ $grep)/ <a href=\"$p\">$phrase<\/a>)/"  | \
         sed "s/\/$grep\'/\/<a href=\"$p\">$phrase<\/a>\'/"  | \
         sed "s/\/$grep\'/\/<a href=\"$p\">$phrase<\/a>\"/"  | \
         sed "s/\.$grep\"/\.<a href=\"$p\">$phrase<\/a>\"/"  | \
         sed "s/\"$grep\"/\"<a href=\"$p\">$phrase<\/a>\"/"  | \
         sed "s/ $grep$/ <a href=\"$p\">$phrase<\/a>/"  | \
         sed "s///\//g"  > tmp.$$
         mv tmp.$$ $i
 
     fi
 
 done