LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices

Reply
 
LinkBack Search this Thread
Old 04-23-2012, 12:27 AM   #1
bal_nair1
Member
 
Registered: Apr 2012
Location: Bangalore,India
Posts: 41

Rep: Reputation: Disabled
Unhappy How do I program in shell script for write a word if it finds another word


I have a file named medpre.msg.log
Script should search for a word 'degenerated'
If it finds the word 'degenerated' , then it should write 'ECHT' on already existing file Mcheck.prot

How should I write the program, please help me . I am new to shell scripting


Thank you in advance......
 
Old 04-23-2012, 01:03 AM   #2
chrism01
Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Centos 6.5, Centos 5.10
Posts: 16,093

Rep: Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995
Please show us what you have done so far and we'll point you in the right direction.
In the meantime, here are some useful links
http://rute.2038bug.com/index.html.gz
http://tldp.org/LDP/Bash-Beginners-G...tml/index.html
http://www.tldp.org/LDP/abs/html/

Have a look at the grep cmd http://linux.die.net/man/1/grep
 
Old 04-23-2012, 01:19 AM   #3
bal_nair1
Member
 
Registered: Apr 2012
Location: Bangalore,India
Posts: 41

Original Poster
Rep: Reputation: Disabled
Sorry I have not done anything so far , I need help extensively to do this program..


I have a file medpre.msg.log in the path /home/balnair/.medina/medpre.msg.log

and another file in the path /home/transfer/Mcheck.prot

script should search for the word 'degenerated' in medpre.msg.log

If it finds it should append 'ECHT' to file Mcheck.prot



So how can be done
log_file = " /home/balnair/.medina/medpre.msg.log "
work = "/home/transfer/Mcheck.prot"


if [ !"degenerated" = $log_file ] # please correct it
then
echo " ECHT " >>$work
 
Old 04-23-2012, 01:45 AM   #4
pan64
Senior Member
 
Registered: Mar 2012
Location: Hungary
Distribution: debian i686 (solaris)
Posts: 4,010

Rep: Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003
see the man page of grep, it will help you
 
Old 04-23-2012, 02:07 AM   #5
bal_nair1
Member
 
Registered: Apr 2012
Location: Bangalore,India
Posts: 41

Original Poster
Rep: Reputation: Disabled
ok i have put

find = " grep degenerated $logfile | wc -l "

if [ $find >1]

then
echo " ECHT " >> $work


but it doesnt work.......

Last edited by bal_nair1; 04-23-2012 at 02:09 AM.
 
Old 04-23-2012, 02:14 AM   #6
druuna
LQ Veteran
 
Registered: Sep 2003
Posts: 10,532
Blog Entries: 7

Rep: Reputation: 2371Reputation: 2371Reputation: 2371Reputation: 2371Reputation: 2371Reputation: 2371Reputation: 2371Reputation: 2371Reputation: 2371Reputation: 2371Reputation: 2371
Hi,

Give this a try:
Code:
if [ $( grep "degenerated" "$logfile" ) ]
then
  echo "ECHT" >> "$work"
fi
Hope this helps.
 
Old 04-23-2012, 02:16 AM   #7
grail
Guru
 
Registered: Sep 2009
Location: Perth
Distribution: Manjaro
Posts: 7,203

Rep: Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796
Explain what is not working? Also, what shell are you using?
 
Old 04-23-2012, 02:43 AM   #8
pan64
Senior Member
 
Registered: Mar 2012
Location: Hungary
Distribution: debian i686 (solaris)
Posts: 4,010

Rep: Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003
more simple: grep degenerated $logfile && echo ECHT >> "$work"

---------- Post added 23rd Apr 2012 at 09:44 ----------

Quote:
Originally Posted by grail View Post
Explain what is not working? Also, what shell are you using?
he should add a space before ]
 
Old 04-23-2012, 06:04 AM   #9
grail
Guru
 
Registered: Sep 2009
Location: Perth
Distribution: Manjaro
Posts: 7,203

Rep: Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796Reputation: 1796
Quote:
he should add a space before ]
So that is the only error you see? Remember, just telling someone the answer won't really help them much for next time.
 
Old 04-23-2012, 06:28 AM   #10
pan64
Senior Member
 
Registered: Mar 2012
Location: Hungary
Distribution: debian i686 (solaris)
Posts: 4,010

Rep: Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003Reputation: 1003
Quote:
Originally Posted by grail View Post
So that is the only error you see? Remember, just telling someone the answer won't really help them much for next time.
If someone wants to learn linux he would better solve such problems himself. So yes, I will show him a starting point. If there were other errors he should find them easily there are only 5 lines of codes to check.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] sed does not remove word done from within shell script dnoob Programming 8 02-11-2011 03:51 PM
bash shell script read file word by word part 2 justina Programming 7 01-25-2011 01:19 PM
[SOLVED] bash shell script read file word by word. justina Programming 15 01-22-2011 10:12 AM
How can i read two files word by word at a time using any loop by shell script? vaibhavs17 Programming 16 03-19-2010 03:48 AM
word by word comparison in two files using loop in shell script vaibhavs17 Programming 2 03-05-2010 07:41 AM


All times are GMT -5. The time now is 10:24 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration