LinuxQuestions.org
Support LQ: Use code LQ3 and save $3 on Domain Registration
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
 
Search this Thread
Old 04-23-2012, 01: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, 02:03 AM   #2
chrism01
Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Centos 6.5, Centos 5.10
Posts: 16,311

Rep: Reputation: 2040Reputation: 2040Reputation: 2040Reputation: 2040Reputation: 2040Reputation: 2040Reputation: 2040Reputation: 2040Reputation: 2040Reputation: 2040Reputation: 2040
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, 02: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, 02:45 AM   #4
pan64
Guru
 
Registered: Mar 2012
Location: Hungary
Distribution: debian i686 (solaris)
Posts: 5,003

Rep: Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320
see the man page of grep, it will help you
 
Old 04-23-2012, 03: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 03:09 AM.
 
Old 04-23-2012, 03:14 AM   #6
druuna
LQ Veteran
 
Registered: Sep 2003
Posts: 10,532
Blog Entries: 7

Rep: Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374
Hi,

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

Rep: Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947
Explain what is not working? Also, what shell are you using?
 
Old 04-23-2012, 03:43 AM   #8
pan64
Guru
 
Registered: Mar 2012
Location: Hungary
Distribution: debian i686 (solaris)
Posts: 5,003

Rep: Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320
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, 07:04 AM   #9
grail
Guru
 
Registered: Sep 2009
Location: Perth
Distribution: Manjaro
Posts: 7,627

Rep: Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947Reputation: 1947
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, 07:28 AM   #10
pan64
Guru
 
Registered: Mar 2012
Location: Hungary
Distribution: debian i686 (solaris)
Posts: 5,003

Rep: Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320Reputation: 1320
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


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 04:51 PM
bash shell script read file word by word part 2 justina Programming 7 01-25-2011 02:19 PM
[SOLVED] bash shell script read file word by word. justina Programming 15 01-22-2011 11: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 04:48 AM
word by word comparison in two files using loop in shell script vaibhavs17 Programming 2 03-05-2010 08:41 AM


All times are GMT -5. The time now is 06:19 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