Visit Our UNIX and Linux User Community


Pattern matching in shell scripting.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Pattern matching in shell scripting.
# 1  
Old 08-27-2009
Pattern matching in shell scripting.

Hey Guys,

I have a shell script that is very simple and does the following.
Code:
#!/usr/bin/bash
set -x
echo -n "can you write device drivers?"
read answer
if [ $answer = Y ]
then
   echo "wow, you must be very skilled"
else
   echo "neither can i, i am just shell script"
fi

you see where the $answer = Y, i need it to match a pattern , because the obvious problem here is that if i entered "yes" the loop would fail..so please let me know if anything can be done about it.

thanks
Arsenalboy
# 2  
Old 08-27-2009
hope this help you.

Code:
while [ "true" ]
do
	echo -n "can you write device drivers?"
	read answer
	case $answer in
	 	y|Y)
			echo "YES xD"
			;;
 		n|N)
			echo "NO :("
			;;
 		e|E)
			echo "Bye!!"
			break
			;;
 		*)	echo "Wrong response"
	esac
done

# 3  
Old 08-27-2009
Hey chipcmc,

i tried your script and it essentially does the same thing as the original code. what i should be able to do is, upon entering a combination of "y", "Y", "Yes" , it should say it was successful and any other word should be deemed as a failure.

thanks
Arsenalboy
# 4  
Old 08-27-2009
? what is the objective? is that response only could be:
Yes
Y
y
are the correct?....
for this you only to need more conditions in you if :
Code:
echo -n "can you write device drivers?"
read answer
if [ $answer = 'Y' ] || [ $answer = "Yes" ] || [ $answer = 'y' ]
then
   echo "wow, you must be very skilled"
else
   echo "neither can i, i am just shell script"
fi

# 5  
Old 08-27-2009
hey chipcmc,

Thank you for the help. the conditions that you gave me really helped!. Appreciate it

thanks
Arsenal Boy
# 6  
Old 08-28-2009
If that can help you a bit more, you can write:
Code:
#!/bin/sh

echo -n "can you write device drivers?"
read answer
case $(echo "$answer" | tr [A-Z] [a-z]) in
	y|yes|oui|si|'of course'*)
		echo "wow, you must be very skilled"
	;;
	*)
		echo "neither can i, i am just shell script"
	;;
esac

exit 0

$(echo "$answer" | tr [A-Z] [a-z]) will always return answer in lower case.
Code:
$ ./script.sh
can you write device drivers?Of course, I can
wow, you must be very skilled

# 7  
Old 08-28-2009
hey tukuyomi,

this is exactly what i needed. thank you very much. appreciate your help mate.

cheers
Irishboy

Previous Thread | Next Thread
Test Your Knowledge in Computers #770
Difficulty: Medium
IBM POWER4 (2001) had off-chip L3 caches of 32 MB per processor, shared among several processors.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Big pattern file matching within another pattern file in awk or shell

Hi I need to do a patten match between files . I am new to shell scripting and have come up with this so far. It take 50 seconds to process files of 2mb size . I need to tune this code as file size will be around 50mb and need to save time. Main issue is that I need to search the pattern from... (2 Replies)
Discussion started by: nitin_daharwal
2 Replies

2. Shell Programming and Scripting

Non-greedy pattern matching in shell script

Hi all, Is Perl included by default in Ubuntu? I'm trying to write a program using as few languages as possible, and since I'm using a few Perl one-liners to do non-greedy matching, it's considered another language, and this is a bad thing. Basically, I'm using a Perl one-liner to grab XML... (3 Replies)
Discussion started by: Zel2008
3 Replies

3. Shell Programming and Scripting

Pattern matching and replace in shell script

Hi I want to find a line in a file which contains a word and replace the patterns. Sample file content temp.xml ==================== <applications> <application> Name="FirstService" location="http://my.website.selected/myfirstService/V1.0/myfirst.war" ... (1 Reply)
Discussion started by: sakthi.99it
1 Replies

4. Shell Programming and Scripting

Help me to find files in a shell script with any matching pattern

Hi friends.. I have many dirs in my working directory. Every dir have thousands of files (.jsp, .java, .xml..., etc). So I am working with an script to find every file recursively within those directories and subdirectories ending with .jsp or .java which contains inside of it, the the pattern... (3 Replies)
Discussion started by: hnux
3 Replies

5. Shell Programming and Scripting

awk pattern matching and shell issue.

Please help me in this issue. I am unable to get the job,seems the awk not browsing the files. Please find my tries below. I have attached two files : 1.tobesearched.txt - a glimpse of a huge log file. 2.searchstring.txt - searching keys. these are the two scripts i tried writing: ... (7 Replies)
Discussion started by: deboprio
7 Replies

6. Shell Programming and Scripting

Korn Shell for pattern matching and extracting

Guys, i'm new to shell scripting. Here's what i need. I need a shell script which would read a file containing only 1 line which never changes. File containts - SQL_Mgd_Svc_ELONMCL54496 |EMEA\brookkev, EMEA\fieldgra, EMEA\tidmamar, EMEA\attfiste, EMEA\baldogar, EMEA\clarkia2, EMEA\conwasha,... (9 Replies)
Discussion started by: butterfly20
9 Replies

7. Shell Programming and Scripting

Pattern matching in shell script

Hi, I am using following command to extract string from a file. String will be after last / (slash). awk -F\ / '{print $NF}' $FILE but while appending the output in file in script, it dosent work. File created but of zero size... can anyone please help `awk -F\\\/ '{print $NF}' $FILE` >... (3 Replies)
Discussion started by: Deei
3 Replies

8. Shell Programming and Scripting

shell script pattern matching

Hi, I need to create a shell script through which i need to populate email addresses in email columns of database table in mysql. Let say if email contains yahoo, hotmail, gtalk than email addresses need to move in their respective columns. # !/bin/sh yim="example@yahoo.com"... (3 Replies)
Discussion started by: mirfan
3 Replies

9. Shell Programming and Scripting

shell pattern matching

Hello Members I am facing a problem regarding pattern matching.please guide me to solve the issue.My requirement is like: There is table in oracle database, in that table contain columns ,inside the column so many files are there. my requirement is that to search a pattern for example: pattern... (5 Replies)
Discussion started by: rakeshforum
5 Replies

10. Shell Programming and Scripting

Pattern matching in a shell script?

I'm looking for a way to match a particular string in another string and if a match is found execute some command. I found the case statement can be used like this; case word in ) command ;; ] ... esac If my string to find is say "foo" in the string $mystring... (1 Reply)
Discussion started by: paulobrad
1 Replies

Featured Tech Videos