Where condition in grep or awk?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Where condition in grep or awk?
# 1  
Old 02-15-2013
Where condition in grep or awk?

Dear All,

I need help..

I am having a csv file.

Code:
Home_TITLE,People_TITLE,Repo_ALIAS
HMN5530,RKY5807,/mine_repo/rike001
HMN5530,SRY6443,/mine_repo/rike001
HMN5530,ARDY001,/mine_repo/rike001

If i have two value in varible RKY5807, HMN5530. how can fetch and store another value Repo_ALIAS (/mine_repo/rike001) in variable. its very much similar to put where clause but i have no idea

Thank you for your help.

Moderator's Comments:
Mod Comment Use code tags, thanks.

Last edited by zaxxon; 02-15-2013 at 09:07 AM.. Reason: code tags, see PM
# 2  
Old 02-15-2013
Try something like this:
Code:
var1="RKY5807"
var2="HMN55303"

new_var=$(awk -F"," -v v1="$var1" -v v2="$var2" '$1==v1 && $2==v2{print $3}')

This User Gave Thanks to Franklin52 For This Post:
# 3  
Old 02-15-2013
RedHat Please suggest something else

Its not working Please let me know if you have some other option.

---------- Post updated at 10:56 AM ---------- Previous update was at 10:47 AM ----------

Code:
awk -F "," '/AVE5530/&&/EFC6145/ {print $3}' WiseReference.csv

If i give value directly then it is working fine
Code:
awk -F "," '/$var1/&&/$var2/ {print $3}' WiseReference.csv

it is not giving any output

please help

Last edited by Franklin52; 02-18-2013 at 03:33 AM.. Reason: Please use code tags for data and code samples
# 4  
Old 02-15-2013
Try this:


Code:
awk -F ","  -v var1="AVE5530" -v var2="EFC6145"  '/var1/&&/var2/ {print $3}' WiseReference.csv

# 5  
Old 02-15-2013
RedHat still not working

No its not working can you please check i am getting the blank value
# 6  
Old 02-15-2013
Quote:
Originally Posted by yadavricky
If i give value directly then it is working fine

awk -F "," '/$var1/&&/$var2/ {print $3}' WiseReference.csv

it is not giving any output

please help
Shell variables do not expand in single quotes, never have.

panyam's suggestion has a small mistake in it. Try this:
Code:
awk -F ","  -v var1="AVE5530" -v var2="EFC6145"  '(var1 ~ $0) &&(var2 ~ $0) {print $3}' WiseReference.csv

# 7  
Old 02-15-2013
Quote:
Originally Posted by yadavricky
No its not working can you please check i am getting the blank value
Note that this is an AND && condition, so both condition should satisfy. Make sure you have these values in 1st and 2nd field.

Try this:
Code:
awk -F, -v var1="HMN5530" -v var2="RKY5807"  '$1==var1&&$2==var2{print $3}' WiseReference.csv

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Grep with condition

I have file input AAAA_XX_Start> rlong . 0W 130526-11:36:13 10.128.13.226 9.0j RBS_NODE_MODEL_N_1_50 stopfile=/tmp/13019 .. ================================================================================================================= MO ... (2 Replies)
Discussion started by: radius
2 Replies

2. UNIX for Dummies Questions & Answers

How to grep with certain condition?

hi all, i have an xml what i have to do is to search for the source id(s1) and if it matches with that in xml then extract the file mask from the name of the file i.e if the file name is idr_%YYYY%%MM%%DD%_%N%.idr then , i want the part after first % and before last % ie in this case ... (5 Replies)
Discussion started by: ramsavi
5 Replies

3. UNIX for Dummies Questions & Answers

Grep certain lines with condition

file input aaaa,52C aaaa,50C bbbb,50C bbbb,58C aaaa,52C bbbb,50C aaaa,30C bbbb,58C cccc,60C i want to print uniq lines with its max value of column2 expected output aaaa,52C bbbb,58C cccc,60C tks (4 Replies)
Discussion started by: radius
4 Replies

4. Shell Programming and Scripting

grep not equal to condition

I have below files under dir_a and dir_b and i want to sort out number of dir_a and dir_b files seperately and if i do the grep it should retrun 2 files in dir_a and 1 file in dir_b. /dir_a/12345678 /dir_a/87654321 /dir_a/dir_b/12345687 But i am getting cat file|grep dir_a|wc -l 3... (6 Replies)
Discussion started by: prash358
6 Replies

5. Shell Programming and Scripting

grep in the if condition

Hi, In this code can able to match the pattern without case sensitive. Is that possible? if u knw plz help me... code: echo "Enter name to search" read n if ; echo "name found" else echo "Not Found" fi (8 Replies)
Discussion started by: boopal
8 Replies

6. Shell Programming and Scripting

use awk pick value from lines as condition for grep

Hi Folks! I have a file like this 000000006 dist:0.0 FILE ./MintRoute/MultiHopWMEWMA.nc LINE:305:1 NODE_KIND:131 nVARs:4 NUM_NODE:66 TBID:733 TEID:758 000000000 dist:0.0 FILE ./Route/MultiHopLEPSM.nc LINE:266:1 NODE_KIND:131 nVARs:4 NUM_NODE:66 TBID:601 TEID:626 000000001 ... (2 Replies)
Discussion started by: jackoverflow
2 Replies

7. Shell Programming and Scripting

grep inside if condition - need help

hi i need help with below code. if ] then log "Exiting the script as ID= NULL" log "Please run script first." fi i am calling grep inside this but its not running any ideas why ?? input file is like this -- Msg 102, Level 20, State 1: Server... (4 Replies)
Discussion started by: dazdseg
4 Replies

8. Homework & Coursework Questions

Grep line above X condition

1. The problem statement, all variables and given/known data: I have to grep a data file called datebook.txt. The last information in each line is a salary. I have to grep all the lines which precede those lines with 6 figure salaries. I can't SID it, or use Perl. It has to be grep (or egrep or... (3 Replies)
Discussion started by: DrSammyD
3 Replies

9. Shell Programming and Scripting

grep command with AND condition

I want to do a grep with AND condition. I have three files. file1.txt ======== UNIX ...... WINDOWS ........ ORACLE file2.txt ======== UNIX ....... WINDOWS ...and many such files in a directory (6 Replies)
Discussion started by: prasperl
6 Replies
Login or Register to Ask a Question