shell script pattern matching


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting shell script pattern matching
# 1  
Old 09-09-2009
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"
msn="example@hotmail.com"
gtalk="example@gmail.com"

case $yim in
*yahoo*)
mysql <<EOF
INSERT INTO db.table yahoo_email VALUES ('$yim');
EOF
case $msn in
*hotmail*)
mysql<<EOF
INSERT INTO db.table yahoo_email VALUES ('$msn');
EOF
esac;;

What should be the appropriate way to do this kind of job done. Please reply me as soon as possible.

Thanks,
Irfan
# 2  
Old 09-10-2009
What's the problem with your existing code? Is it not working as you expect?

I presume for the second example you meant to insert into the "hotmail_email" column, not "yahoo_email".

I would do something like this:

Code:
#!/bin/sh

#email="example@yahoo.com"
#email="example@hotmail.com"
email="example@gmail.com"

case $email in
        *@yahoo.*)
		table=yahoo_email
		;;
	*@hotmail.*)
		table=hotmail_email
		;;
	*)
		table=standard_email
		;;
esac

mysql<<EOF
	INSERT INTO db.table $table VALUES ('$email');
EOF

I presume your insert statement will need a "where" clause though...
# 3  
Old 09-14-2009
shell script pattern matching

Thanks for the reply. There is minor misktake in script i already sorted out. Now i have some other problem. which i am saving sql query result in variable. Let say

yahoo=$echo('select yahoo from table | mysql db --skip-column-names')
msn=$echo('select msn from table | mysql db --skip-column-names')

which results

yahoo=NULL
msn=NULL

now i want to compare the results that if yahoo and msn is NULL than don't do anything and if yahoo and msn variables contains email addresses than update another table with those values.

my if condition is not working. Please help me out to sort out this issue.

if [[ -n "$yahoo" && -n "$msn" ]]
then
echo "email found. NOT NULL"
else
echo "email are NULL"
fi

It display result "email are NULL"
while it should display "email found. NOT NULL"
because yahoo & msn both variables contains NULL. Please help me how to compare NULL.
Thanks in advance

~Irfan~
# 4  
Old 09-14-2009
I think you mean "||", not "&&".

Why are you writing it in shell script? The MySQL language is quite powerful, you could just do something like "insert into newtable select address from yahoo_email where address not null" or similar (that's pseudo-code, but you can hopefully see what I mean).
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. Homework & Coursework Questions

shell script that can create, monitor the log files and report the issues for matching pattern

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Write an automated shell program(s) that can create, monitor the log files and report the issues for matching... (0 Replies)
Discussion started by: itian2010
0 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

Pattern matching in shell scripting.

Hey Guys, I have a shell script that is very simple and does the following. #!/usr/bin/bash set -x echo -n "can you write device drivers?" read answer if then echo "wow, you must be very skilled" else echo "neither can i, i am just shell script" fi you see where the... (6 Replies)
Discussion started by: Irishboy24
6 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
Login or Register to Ask a Question