Simple Shell Script to Grep


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Simple Shell Script to Grep
# 1  
Old 04-21-2010
Simple Shell Script to Grep

Hi guys, I have written this script, however the outcome is invalid. It contains grep search that is not needed:

Script:
Code:
#!/bin/bash
#this is a test script

FILES=$(ls /home/student/bin/dir1/*)
GREPFUNC=$(grep -E -i "login|Successfully" ORProxyTC`date '+%m%d%Y'`*.txt/ ${FILES})
COUNT=$(grep -E -i "login|Successfully" ORProxyTC`date '+%m%d%Y'`*.txt/ ${FILES} | wc -l)
echo "Search completed and found: ${GREPFUNC}."
#################################################################
echo "This is the total number of files: ${COUNT} ."
##################################################################
##################################################################

Output:
Code:
[student@station14 bin]$ script_local
grep: ORProxyTC04212010*.txt/: No such file or directory
grep: /home/student/bin/dir1/text: No such file or directory
grep: 2.txt~: No such file or directory
grep: ORProxyTC04212010*.txt/: No such file or directory
grep: /home/student/bin/dir1/text: No such file or directory
grep: 2.txt~: No such file or directory
Search completed and found: /home/student/bin/dir1/ORProxyTC0421201000008875.txt:pos server login is established
/home/student/bin/dir1/ORProxyTC0421201000008875.txt:connection is made Successfully.
This is the total number of files: 2 .
[student@station14 bin]$ 
Test 2211


Last edited by DallasT; 04-26-2010 at 04:45 PM..
# 2  
Old 04-21-2010
What are you trying to do? - not how you decided to do it.
It looks a little like part of some kind of adduser or install verification script.
# 3  
Old 04-21-2010
MySQL

You can try this..Smilie

Code:
  
 
# cat search.sh
 
#!/bin/bash
LDIR="/home/student/bin/dir1"
cd $LDIR
ls -1 $FILES > FILESLIST
COUNT=0
c=0
 
for i in $( (ls -1 ORProxyTC`date '+%m%d%Y'`*.txt) )
do
FILES[c]="$i"
while read
do
GREPFUNC=$(grep -i -E -H "login|Successfully" ${FILES[c]})
if [ $? -eq 0 ] ; then
((++c))
((++COUNT))
echo ""
echo "Search completed and found: ${GREPFUNC}."
echo "#################################################################"
fi
done < FILESLIST
done
 
echo ""
echo "This is the total number of files: ${COUNT}."
echo "#################################################################"

Code:
 
 # ./search.sh
Search completed and found: ORProxyTC03282010101.txt:login|Successfully.
#################################################################
Search completed and found: ORProxyTC03282010.txt:login|Successfully.
#################################################################
This is the total number of files: 2.
#################################################################

# 4  
Old 04-21-2010
Ygemici, thanks. One question: can multiple file locations be added to LDIR?

Jim: trying to grep perticular strings from a newly generated current file from various locations. Then displaying the result. And then email the result.
# 5  
Old 04-22-2010
MySQL

Quote:
Originally Posted by DallasT
Ygemici, thanks. One question: can multiple file locations be added to LDIR?

Jim: trying to grep perticular strings from a newly generated current file from various locations. Then displaying the result. And then email the result.
Code:
#!/bin/bash
 
a=0
c=0
COUNT=0
 
#Which Search Files
WHICHFILE=ORProxyTC`date '+%m%d%Y'`
 
# Which Dir Listing
DIRS=( "/home/student/bin/dir1" "/home/student/bin/dir2" "/home/student/bin/dir3" "/home/student/bin/dir4" )
 
#Processing Which Files in Which Dirs
           for WHICHDIR in ${DIRS[*]}
                do
                    for i in $( (ls -1 $WHICHDIR/$WHICHFILE*.txt) )
                        do
                         FILES[c]="$i"
                         GREPFUNC=$(grep -i -E -H "login|Successfully" ${FILES[c]})
                                if [ $? -eq 0 ] ; then
                                    ((++COUNT))
                                    echo ""
                                    echo "Search completed and found: ${GREPFUNC}."
                                    echo "#################################################################"
                                fi
                                    ((++c))
                       done
                        echo ""
               done
                        echo "This is the total number of files: ${COUNT}."
                        echo "#################################################################"

Code:
[root@sistem1lnx bin]# ./search
Search completed and found: /home/student/bin/dir1/ORProxyTC0422201011.txt:login|Successfully.
#################################################################
Search completed and found: /home/student/bin/dir1/ORProxyTC04222010.txt:login|Successfully.
#################################################################
 
Search completed and found: /home/student/bin/dir2/ORProxyTC0422201011.txt:login|Successfully.
#################################################################
Search completed and found: /home/student/bin/dir2/ORProxyTC04222010193.txt:login|Successfully.
#################################################################
 
Search completed and found: /home/student/bin/dir3/ORProxyTC0422201012.txt:login|Successfully.
#################################################################
 
Search completed and found: /home/student/bin/dir4/ORProxyTC0422201011.txt:login|Successfully.
#################################################################
Search completed and found: /home/student/bin/dir4/ORProxyTC042220101999.txt:login|Successfully.
#################################################################
Search completed and found: /home/student/bin/dir4/ORProxyTC04222010.txt:login|Successfully.
#################################################################
This is the total number of files: 8.
#################################################################

# 6  
Old 04-22-2010
Thanks ygemici!

I have a question, how would i make sure that the results come as indexed like this:
Code:
/student/dir1: 
Search completed and found: /home/student/bin/dir1/ORProxyTC0422201011.txt:login|Successfully.
#################################################################
Search completed and found: /home/student/bin/dir1/ORProxyTC042220101999.txt:login|Successfully.
This is the total number of files: 2
#################################################################

and then

Code:
/student/dir2: 
Search completed and found: /home/student/bin/dir2/ORProxyTC0422201011.txt:login|Successfully.
#################################################################
Search completed and found: /home/student/bin/dir2/ORProxyTC042220101999.txt:login|Successfully.
This is the total number of files: 2
#################################################################

....?
# 7  
Old 04-23-2010
MySQL

Code:
 cat s1
#!/bin/bash
 
a=0
b=1
c=0
COUNT=0
CHKCNT=0
WRITE=0
#Which Search Files
WHICHFILE=ORProxyTC`date '+%m%d%Y'`
# Which Dir Listing
DIRS=( "/home/student/bin/dir1" "/home/student/bin/dir2" "/home/student/bin/dir3" "/home/student/bin/dir4" )
#Processing Which Files in Which Dirs
for WHICHDIR in ${DIRS[*]}
    do
 for i in $( (ls -1 $WHICHDIR/$WHICHFILE*.txt) )
  do
 
    FILES[c]="$i"
    GREPFUNC[c]=$(grep -i -E -H "login|Successfully" ${FILES[c]})
 if [ $? -eq 0 ] ; then
  ((++COUNT))
  GREPFUNCOK[a]=${GREPFUNC[c]}
  ((++a))
 fi
  ((++c))
 
dirp1=${WHICHDIR%*/*/*} ; dirp1=/${dirp1#*/*/}
dirp2=${WHICHDIR#/*/*/*/*}
DIROK=$( (echo $dirp1/$dirp2) )
DIRTMP[b]="$DIROK"
 
 if [ $CHKCNT -eq 0 ] ; then
 echo "$DIROK"
 else
     if [ "${DIRTMP[b]}" != "${DIRTMP[b-1]}" ] ; then
  echo "${DIRTMP[b]}"
     fi
       fi
   ((++CHKCNT))
 
   ((++b))
  done
 a=0
 COUNTOK=$COUNT
 
 while [ $(( COUNT -= 1 )) -gt 0 ]
  do
  echo "Search completed and found: ${GREPFUNCOK[a]}."
  echo "#################################################################"
  ((++a))
 done
echo "Search completed and found: ${GREPFUNCOK[a]}."
echo "This is the total number of files: ${COUNTOK}."
echo "#################################################################"
echo ""
COUNTOK=0
COUNT=0
c=0
a=0
done

Code:
./s1
/student/dir1
Search completed and found: /home/student/bin/dir1/ORProxyTC03282010.txt:login|Successfully.
This is the total number of files: 1.
#################################################################
 
/student/dir2
Search completed and found: /home/student/bin/dir2/ORProxyTC03282010.txt:login|Successfully.
This is the total number of files: 1.
#################################################################
 
/student/dir3
Search completed and found: /home/student/bin/dir3/ORProxyTC03282010.txt:login|Successfully.
This is the total number of files: 1.
#################################################################
 
/student/dir4
Search completed and found: /home/student/bin/dir4/ORProxyTC03282010111.txt:login|Successfully.
#################################################################
Search completed and found: /home/student/bin/dir4/ORProxyTC032820101.txt:login|Successfully.
#################################################################
Search completed and found: /home/student/bin/dir4/ORProxyTC03282010.txt:login|Successfully.
This is the total number of files: 3.
#################################################################

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help on simple shell script

Hello, I need to create one very simple shell script that checks if the first character of the file ./pump.txt is 0 and in that case gives a message. If the first character is instead 1, it does give a different message. I have written: irr= head -c 1 ./pump.txt if ]; then echo... (4 Replies)
Discussion started by: dcaccount
4 Replies

2. Shell Programming and Scripting

Help on simple shell script

Hello, I am running openmediavault on my Raspberry and I would like to use it as a backup FTP server of snapshots taken from my IP cams. So I get the network recorder to upload every 3 seconds a snapshot to the Raspberry. Everything works perfectly. I would need now a simple script that... (5 Replies)
Discussion started by: dcaccount
5 Replies

3. Shell Programming and Scripting

Help with simple Shell Script

Hi , I am in need of simple shell script that has one input file containing some words Input file 1 : ****ALEX***JOHN*******VIRGIL***** CHRITINE*****FAISAL*****DON***** ****ALEX***JOHN*******VIRGIL***** CHRITINE*****FAISAL*****DON***** ****ALEX***JOHN*******VIRGIL*****... (6 Replies)
Discussion started by: kmanjuna
6 Replies

4. Shell Programming and Scripting

Help with very simple Shell Script

Write a shell that receives as parameters two folder names. Copies the second folder as subfolder into the first one. Only folders and files with the '.txt' extension will be copied. Detect and avoid recursive copy. This is what I have to do and I don't know where to start. In fact, I started... (5 Replies)
Discussion started by: sharpsh07er
5 Replies

5. Shell Programming and Scripting

Simple grep script

I'm trying to write a simple script to identify every user who tried to “sudo” on the system. I have the first portion down to grep the log file grep “sudo” /var/log/secure. What I want to do is have the script identify the person just one time not every instance the user tried... (4 Replies)
Discussion started by: bouncer
4 Replies

6. Shell Programming and Scripting

Simple Shell Script

Hello Friends, I am writing a shell script which will grab a file if it exists and copies it to another folder and will append with current date. I have written but gives me error, plz help: -------------------------------------------- #!/usr/bin/sh source=/home/dev4rice/naveen/test1... (4 Replies)
Discussion started by: ganesh123
4 Replies

7. Shell Programming and Scripting

Problem with IF - CAT - GREP in simple shell script

Hi all, Here is my requirement I have to search 'ORA' word in out.log file,if it is present then i need to send that file (out.log) content to some mail id.If 'ORA' word is not in that file then i need to send 'load succesful' message to some mail id. The below the shell script is not... (5 Replies)
Discussion started by: mak_boop
5 Replies

8. Shell Programming and Scripting

simple shell - how to get a parameter typed in a shell script

Hi, I am new to unix and using linux 7.2. I would like to create a script that would make it easyer for me to run my java programms. At the moment I have to type java myJavaprogram I am trying to write a script that will allow me to type something like this "myscript myJavaprogram" or maybe... (4 Replies)
Discussion started by: cmitulescu
4 Replies

9. Shell Programming and Scripting

Please Help On Simple Shell Script

This is an assignment I have to do everyone but I was viewing the threads and I assumed that I could write this assignment simpler than what My instructor is directing.. Here is the Assignment This shell script has the following specifications: - It must be named: "printpasswd." - It must... (1 Reply)
Discussion started by: dmosheye
1 Replies

10. Shell Programming and Scripting

A Simple shell Script

Hi there. im creating a shell script which helps me perform simple functions when i use it, but there are still two functions which i cannot figure out yet. 1) how can I count the number of occurences of a certain file within the whole file system? (filename supplied as an argument.) 2) How... (2 Replies)
Discussion started by: provo
2 Replies
Login or Register to Ask a Question