grep word


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting grep word
# 22  
Old 03-25-2011
This is it.

Code:
#!/bin/sh

STR=`grep $1 1.txt | awk '{ print $2 }'`

if [ -z $STR ]
        then
        echo "0"
else
        echo $STR
fi


Quote:
Originally Posted by alvin0618
in my list.txt contain
------------------
Mary 10
John 20

So, if i the name is not in the list like 'Marcus', it will return 0.
if the name exist in the list like 'John', it will return 20.
This is what i want. Thanks
---------- Post updated at 04:21 PM ---------- Previous update was at 03:43 PM ----------

Sorry. Please change the filename (1.txt) to list.txt.

I don't know what the problem is. When I ran it to my system, it successfully generated the output, with or without the single quotes.

[******@******** home]$ sh 1.sh Mary
123

[******@******** home]$ sh 1.sh 'Mary'
123


Quote:
Originally Posted by alvin0618
in my list.txt contain
------------------
Mary 10
John 20

So, if i the name is not in the list like 'Marcus', it will return 0.
if the name exist in the list like 'John', it will return 20.
This is what i want. Thanks

---------- Post updated at 03:43 PM ---------- Previous update was at 03:41 PM ----------


This is what i got when i input
./check.sh 'aaaa'
./check.sh: test: argument expected
# 23  
Old 03-25-2011
Code:
{ grep 'Mary' list.txt || echo 0 0 ; } | awk '{print $2}'

Without awk:
In ksh:
Code:
{ grep 'Mary' list.txt || echo 0 0 ; } | read name val ; echo $val

In bash
Code:
read name val  < <(grep 'Mary' list.txt || echo 0 0) ; echo $val


Last edited by Chubler_XL; 03-25-2011 at 03:56 PM..
# 24  
Old 03-27-2011
Code:
awk -v x=0 '{if ($1==name) x=$2} END {print name, x}' name=Mary list.txt
Mary 10
awk -v x=0 '{if ($1==name) x=$2} END {print name, x}' name=Tom list.txt
Tom 0

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep for a word or word with underscore

I have a file "test" with following contents: cat test abc abcd_efg abc_abc I want to only grep for abc or abc_ without getting other results, how do I achieve this? If I use grep -w abc test option I get only abc and not abc_. If I use egrep "abc|abc_" test its still printing... (3 Replies)
Discussion started by: ctrld
3 Replies

2. Shell Programming and Scripting

Need a word which just comes next to after grep of a specific word

Hi, Below is an example : ST1 PREF: int1 AVAIL: int2 ST2 PREF :int1 AVAIL: int2 I need int1 to come in preferred variable while programming and int2 in available variable Please help me doing so Best regards, Vishal (10 Replies)
Discussion started by: Vishal_dba
10 Replies

3. Shell Programming and Scripting

Grep two word and one word with if

so far I have the following , it work, if grep -w "Hi"\|"Hello" /home/my.log 2>&1 > /dev/null then EMAIL_ADDR="aaa@gmail.com" echo "Please view the error messages on attached file " | mutt -a ~/error_report.txt -s "hi `date +"%d-%m-%Y"`" "$EMAIL_ADDR" fi But :(I want to add if... (6 Replies)
Discussion started by: Hscript
6 Replies

4. Shell Programming and Scripting

How ti Grep for a word and print the next word

Hi can we grep for a word and print the next word of the greped word? ex:- create or replace function function_name create function function_name we should search for word "function" and output next word "function_name" from both lines. (3 Replies)
Discussion started by: manasa_vs
3 Replies

5. Shell Programming and Scripting

grep part of word or Another word from a string

Hi all, FileOne family balance >>>>> 0 0 0 0 java.io.FileNotFoundException: Settings.xml (No such file or directory) at java.io.FileInputStream.open(Native Method) .. .... ..... ..... java.lang.NullPointerException ... ..... ...... Stacktrace: at... (2 Replies)
Discussion started by: linuxadmin
2 Replies

6. Shell Programming and Scripting

How to grep a word and next column to that word?

Hi, I have input file as below. Can you help me? inac_4y;0;2;Balance;200;1;1; 0;2;Balance;100;1; 0;inac_nq;0;1;Balance;100;1 desired output Balance;200 Balance;100 Balance;100 -Suresh Please use and tags when posting code, data or logs etc. to preserve formatting... (5 Replies)
Discussion started by: suresh3566
5 Replies

7. Shell Programming and Scripting

Grep for a particular word and get only the word

HI, Let us a consider i have a file as following. abcde (flag5 / 234 ) Mod 45 efgh afghd (flag3/ 343) MOD 34 ghdd tryd (t_flag6/ 567 ) MOD 43 uifudiu Is there a way where I need only the flag and the calculation done on it. The output should be : (flag5 / 234 ) Mod 45 ... (8 Replies)
Discussion started by: ashwin3086
8 Replies

8. Shell Programming and Scripting

Grep out specific word and only that word

ok, so this is proving to be kind of difficult even though it should not be. say for instance I want to grep out ONLY the word fkafal from the below output, how do I do it? echo ajfjf fjfjf iafjga fkafal foeref afoafahfia | grep -w "fkafal" If i run the above command, i get back all the... (4 Replies)
Discussion started by: SkySmart
4 Replies

9. UNIX for Dummies Questions & Answers

how to grep the word and display only the second word from it

hi, consider the below line in a text file, 'Y',getdate(),'N','V',NULL ..... 'N',getdate(),'Y','D',NULL ..... 'Y','N','Y',getdate(),'Y','D',NULL .... as u see above, i want only the second word after the getdate() word... getdate() will not come 2nd word alwys it may be any position but i... (11 Replies)
Discussion started by: prsam
11 Replies

10. UNIX for Dummies Questions & Answers

how to grep for a word and display only the word

Hi, When we "grep" for a word in a file, it returns the lines containing the word that we searched for. Is there a way to display only the words and not the entire line containing them. Thanks Ananth (6 Replies)
Discussion started by: ananthmm
6 Replies
Login or Register to Ask a Question