• R/O
  • SSH

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

File Info

Rev. dcc972c4aa27a52f4caa7382fcb5b816f47b1fea
크기 1,931 bytes
Time 2008-04-11 21:32:10
Author iselllo
Log Message

I added the file search_pdf_create_txt.sh which is a simple script to
search pdf files by keywords.

Content

#!/bin/bash
# place this file in the directory of pdf files
# you want to search

echo "Do you want to: "
echo "1- create/update index" 
echo "2- search biblio"
echo "_________ "
echo "NOTE: index only need to be created once"
read choice
echo "your choice  [$choice]"

if [ $choice -eq 1 ]
then 
if [ -f ./tmp_menu_file ]
then
rm ./tmp_menu_file
fi
if [ -f ./log_treat ]
then
rm ./log_treat
fi
if [ -d ./text_format ] 
then
echo "an index has already been created"
echo "update in progress"
else
mkdir ./text_format 
fi
count=0 
echo "reading directory"
for file in `ls -1 *.pdf`
do
count=`expr $count + 1`
echo "$file" >>tmp_menu_file
done 
echo "reading done"
echo "[$count] pdf files"
filename=`cut -d"." -f 1 tmp_menu_file`
count=0
for file in `echo $filename`
do
count=`expr $count + 1`
echo "loading $file" >>log_treat
echo "loading $file"
if  [ -f ./text_format/$file.txt ]
then
echo "file [$file] already treated "
else
pdftotext $file.pdf ./text_format/$file.txt
echo "file [$count,$file] treated ">>log_treat
echo "file [$count,$file] treated "
fi
done
fi

if [ $choice -eq 2 ]
then
cd ./text_format/
fin=0
key1=""
key2=""
key3=""
while [ $fin -eq 0 ]
do
echo "enter up to 3 keyword(s) [AND]"
echo "_____________[crtl-c for end search]"
read key1 key2 key3
echo "keywords: [$key1,$key2,$key3]"
if [ -f ./tmp ]
then
rm ./tmp
fi
echo `egrep -i -l "$key1" *.txt` >>tmp
echo "results for [$key1] only:"
echo `egrep -i -l "$key1" *.txt`
if [ -n "$key2" ]
then 
echo "results for [$key2] only:"
echo `egrep -i -l "$key2" *.txt`
for file in `cat tmp`
do 
echo `egrep -i -l "$key2" $file`>>tmp2
done
echo "results for [$key1] and [$key2]:"
echo `cat tmp2`
rm ./tmp
if [ -n "$key3" ]
then
echo "results for [$key3] only:"
echo `egrep -i -l "$key3" *.txt`
for file in `cat tmp2`
do
echo `egrep -i -l "$key3" $file`>>tmp
done
rm ./tmp2
echo "results for [$key1] and [$key2] and [$key3]:"
echo `cat tmp`
rm ./tmp
fi
fi
done
exit
fi