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


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers how to grep the word and display only the second word from it
# 1  
Old 11-29-2008
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 need the second word from it(getdate())..
i.e, V from first line, D from 2nd line and D from 3rd line...

so by keeping the target word as 'getdate()' i want to display the second word from getdate...

so can any one please provide the command using grep, cut command to get the solution...
# 2  
Old 11-29-2008
Try:

Code:
sed 's/.*getdate(),\(.*\),\(.*\),.*/\2/' < file

# 3  
Old 11-29-2008
Thnx dennis
it will be helpful if u explain me the command u gave...
since i cant able to test that now(today) so could u explain each thing in it...
ex: what tat \2 means?
# 4  
Old 11-30-2008
can anyone please explain the above command????
# 5  
Old 11-30-2008
This sed statement is used to grep getdate() as well as 1st and 2nd character from the line.

sed 's/.*getdate(),\(.*\),\(.*\),.*/\2/' < file

sed = sed editor
's/ = search
.*getdate(), = search getdate()
\(.*\), = store 1st character after above getdate() search in var 1
\(.*\), = store 2nd character after above getdate() search in var 2
.*/ = search end),
.*/\2/' = replace or show var 2 stored
< file = from file

Is something missing here....

Last edited by sameermohite; 11-30-2008 at 05:14 AM.. Reason: typo
# 6  
Old 11-30-2008
Thanks Sameermohite
# 7  
Old 12-01-2008
Not working - any one help please

Can any one please provide the command,

the below command works wrong,
sed 's/.*getdate(),\(.*\),\(.*\),.*/\2/' < file

my txt file:
------------------------------------------
values('SGAV01204','retention_cd','retention_cd','C','EQUALS','N',-999, NULL,NULL,'N','N',NULL, NULL,'SYSTEM',getdate(),'0','D','0','S','N',0,'N','N','00',NULL1,NULL2,'N',NULL3,NULL4,NULL)
------------------------------------------

output for the above command:
by using above sed command (sed 's/.*getdate(),\(.*\),\(.*\),.*/\2/' file) i am getting below O/P:

O/P:
------------------------------------------
values('SGAV01204','retention_cd','retention_cd','C','EQUALS','N',-999, NULL,NULL,'N','N',NULL, NULL,'SYSTEM', NULL4
------------------------------------------

but expected output is just :
------------------------------------------
'D'
------------------------------------------

(2nd word after getdate() word)

Instead it printing from back side 2nd word also the first line.

can any one please give the sed command which provide the exact O/P i needed(only the second word after getdate() and NOT the first line). I dont need the first line also.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to grep for a word and display last transection?

Hi, When we "grep" for a word in a file, it returns the last lines containing the word that we searched for. Is there a way to display last line to grep. Thanks Ex log. Ex. logname.log 2015-07-29 06:43:07.023|BETA |2015-07-29... (5 Replies)
Discussion started by: ooilinlove
5 Replies

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

3. Shell Programming and Scripting

Grep word after last occurance of string and display next few lines

Hi, I wanted to grep string "ERROR" and "WORNING" after last occurrence of String "Starting" only and wanted to display two lines after searched ERROR and WORNING string and one line before. I have following cronjob log file "errorlog" file and I have written the code for same in Unix as below... (17 Replies)
Discussion started by: nes
17 Replies

4. UNIX for Dummies Questions & Answers

Find EXACT word in files, just the word: no prefix, no suffix, no 'similar', just the word

I have a file that has the words I want to find in other files (but lets say I just want to find my words in a single file). Those words are IDs, so if my word is ZZZ4, outputs like aaZZZ4, ZZZ4bb, aaZZZ4bb, ZZ4, ZZZ, ZyZ4, ZZZ4.8 (or anything like that) WON'T BE USEFUL. I need the whole word... (6 Replies)
Discussion started by: chicchan
6 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

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

7. Shell Programming and Scripting

grep display word only

Folks, is it possible to display only words with grep (or any built-in ultility)? I have more than 1 pattern to search, say apple & orange The text goes like this: So I need to display all the words starting with apple or orange The output should be: Any idea? (7 Replies)
Discussion started by: bsddaemon
7 Replies

8. Shell Programming and Scripting

How to Grep for particular word and display..

Hi Guru's.... I've one log file in all my systems which writes the backup information.. I'have written a command like this: ssh -l ora${sid} ${primaryhost} "tail -50 /oracle/$ORACLE_SID/newbackup/END_BACKUP.log" |grep 'insert' |tail -1| awk '{print $7}' We have nearly 50 systems in our... (2 Replies)
Discussion started by: suri.tyson
2 Replies

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

10. UNIX for Dummies Questions & Answers

grep a word and display its column

Hi, I need idea about this, say I have this line: 05 21 * * 0,6 /user/clean.desktop.sh > /tmp/desktop_rpt 2>&1 I would need to grep the word desktop and display the /user/clean.desktop.sh and not the whole line. And if I have some more lines say, 05 21 * * 0,6 /user/clean.desktop.sh >... (1 Reply)
Discussion started by: Orbix
1 Replies
Login or Register to Ask a Question