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


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need a word which just comes next to after grep of a specific word
# 1  
Old 12-16-2013
Need a word which just comes next to after grep of a specific word

Hi,

Below is an example :
Code:
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
# 2  
Old 12-16-2013
Quote:
Originally Posted by Vishal_dba
Hi,

Below is an example :
Code:
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
Like this ?

Code:
$ pref=$(awk '/PREF/{print $3;exit}' file)

$ avail=$(awk '/AVAIL/{print $NF;exit}' file)


Last edited by Akshay Hegde; 12-16-2013 at 07:42 AM.. Reason: confused
# 3  
Old 12-16-2013
What have you tried so far?

The grep will get you the whole line that matches, so then you just read the part you need from that line.



Robin
# 4  
Old 12-16-2013
@vishal please be specific about your requirement

Grep you can try something like this

Code:
$ pref=$(grep -Po -m1 '(?<=PREF:).*(?=AVAIL:)' file)
$ echo $pref
int1 

$ avail=$(grep -Po -m1 '(?<=AVAIL:).*' file)
$ echo $avail
int2

This User Gave Thanks to Akshay Hegde For This Post:
# 5  
Old 12-16-2013
Thank you Akshay for the great commands. Could you please explain the same please, will be grateful to you.


Thanks,
R. Singh
# 6  
Old 12-16-2013
Quote:
Originally Posted by RavinderSingh13
Thank you Akshay for the great commands. Could you please explain the same please, will be grateful to you.


Thanks,
R. Singh

Code:
grep -Po -m1 '(?<=PREF:).*(?=AVAIL:)'

P---> Interprets as regular perl expression

o---> Printout only what is matched

m 1 --> Max count 1, after match stop reading file

( --> start grouping

?<=PRES: --> positive look behind, but don't match PRES:

) --> end grouping

.* --> anything after positive look behind to negative look behind will be part of match

( --> start grouping

?=AVAIL: --> negative look behind

) --> end grouping

Hope its fine.
This User Gave Thanks to Akshay Hegde For This Post:
# 7  
Old 12-16-2013
Thanks Akshay!


However,this is not working in aix machine

Code:
 pref=$(grep -Po -m1 '(?<=PREF:).*(?=AVAIL:)' /tmp/test.out)
grep: illegal option -- P
grep: illegal option -- o
grep: illegal option -- m
grep: illegal option -- 1


Please help


Best regards,
Vishal
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Grep or awk a unique and specific word across many fields

Hi there, I have data with similar structure as this: CHR START-SNP END-SNP REF ALT PATIENT1 PATIENT2 PATIENT3 PATIENT4 chr1 69511 69511 A G homo hetero homo hetero chr2 69513 69513 T C . hetero homo hetero chr3 69814 69814 G C . . homo homo chr4 69815 69815 C A hetero . . hetero is... (10 Replies)
Discussion started by: daashti
10 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

Search for a specific word and print only the word from the input file

Hi, I have a sample file as shown below, I am looking for sed or any command which prints the complete word only from the input file. Ex: $ cat "sample.log" I am searching for a word which is present in this file We can do a pattern search using grep but I need to cut only the word which... (1 Reply)
Discussion started by: mohan_kumarcs
1 Replies

4. Shell Programming and Scripting

Fetch entries in front of specific word till next word

Hi all I have following file which I have to edit for research purpose file:///tmp/moz-screenshot.png body, div, table, thead, tbody, tfoot, tr, th, td, p { font-family: &quot;Liberation Sans&quot;; font-size: x-small; } Drug: KRP-104 QD Drug: Placebo Drug: Metformin|Drug:... (15 Replies)
Discussion started by: Priyanka Chopra
15 Replies

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

6. UNIX for Dummies Questions & Answers

How to print line starts with specific word and contains specific word using sed?

Hi, I have gone through may posts and dint find exact solution for my requirement. I have file which consists below data and same file have lot of other data. <MAPPING DESCRIPTION ='' ISVALID ='YES' NAME='m_TASK_UPDATE' OBJECTVERSION ='1'> <MAPPING DESCRIPTION ='' ISVALID ='NO'... (11 Replies)
Discussion started by: tmalik79
11 Replies

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

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 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. Shell Programming and Scripting

grep a word from a specific line

for example: searches only for single word for single word this is line three match=$(grep -n -e "single" data.txt) this command will stored "..... single ...... single" into search. how can i grep the single word just from line 2 only?? (3 Replies)
Discussion started by: blurboy
3 Replies
Login or Register to Ask a Question