Grep exact match


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Grep exact match
# 1  
Old 05-05-2015
Grep exact match

Hello!

I have 2 files named tacs.tmp and tacDB.txt

tacs.tmp looks like this

Code:
0
10235647
102700
106800
107200
1105700

tacDB.txt looks like this

Code:
100100,Mitsubishi,G410,Handheld,,0,0,0
100200,Siemens,A53,Handheld,,0,0,0
100300,Sony Ericsson,TBD (AAB-1880030-BV),Handheld,,0,0,0
100400,Nokia,RM-669,Handheld,,0,0,0
100500,Motorola,M930 NA DB,Handheld,,0,0,0
100600,Panasonic,EBX700,Handheld,,0,0,0
100700,Sagem,Test IMEI,Handheld,,0,0,0
100800,Philips,TCD718,Handheld,,0,0,0


I'm trying to grep the TAC from tacs.tmp in tacDB.csv as follows:

Code:
cat tacs.tmp | while read TAC
do
echo $TAC,`grep $TAC tacDB.txt` >> taclookup.csv
done

The problem with that is that that TAC
Code:
102700

matches with
Code:
102700, 1027000, 1027001, 1027002, 1027003, 1027004

and so on.

I tried to use the following but it only returns the output at the bottom:

Code:
cat tacs.tmp | while read TAC
do
echo $TAC,`egrep \<$TAC\> tacDB.txt` >> taclookup.csv
done

Code:
102700,
106800,
107200,
1105700,
1118600,
1135900,
11442570,
1155900,
1186100,
1187000,


Finally, my desired output should be along the lines of this:

Code:
100200,100200,Siemens,A53,Handheld,,0,0,0
100300,100300,Sony Ericsson,TBD (AAB-1880030-BV),Handheld,,0,0,0
100400,100400,Nokia,RM-669,Handheld,,0,0,0
100500,100500,Motorola,M930 NA DB,Handheld,,0,0,0
100600,100600,Panasonic,EBX700,Handheld,,0,0,0
100700,100700,Sagem,Test IMEI,Handheld,,0,0,0
100800,100800,Philips,TCD718,Handheld,,0,0,0

I'm afraid my knowledge is limited to cat/grep etc. Any pointers would be appreciated.

Thanks
cludgie
# 2  
Old 05-05-2015
Try:
Code:
grep "^$TAC," tacDB.txt

or try awk:
Code:
awk 'NR==FNR{A[$1]; next} $1 in A{print $1,$0}' FS=, OFS=, tacs.tmp tacDB.txt > taclookup.csv

This User Gave Thanks to Scrutinizer For This Post:
# 3  
Old 05-06-2015
Both suggestions worked a treat!!! Thanks very mych
This User Gave Thanks to Cludgie For This Post:
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 an exact match in a file

I am currently having some issues while trying to grep for a exact string inside a file. I have tried doing this from command line and things work fine i.e. when no match is found, return code=1 but when its done as part of my script it returns 0 for the same command - I dont know if there is an... (6 Replies)
Discussion started by: Ads89
6 Replies

2. Shell Programming and Scripting

Grep exact match without period or other special characters

If I have a file like the following abc.1 abc abc_1 abc..1 abc*1 abc@1 abc def ghr def...... ddef 5466 def ed def** 123445 I`m trying to find exact words from the list abc def (4 Replies)
Discussion started by: ritakadm
4 Replies

3. Shell Programming and Scripting

Grep or sed - printing line only with exact match

Hello. In my script, some command return : q | kernel-default | package | 3.19.0-1.1.g8a7d5f9 | x86_64 | openSUSE-13.2-Kernel_stable_standard | kernel-default | package | 3.19.0-1.1.g8a7d5f9 | i586 | openSUSE-13.2-Kernel_stable_standard | kernel-default ... (3 Replies)
Discussion started by: jcdole
3 Replies

4. Shell Programming and Scripting

Searching for exact match using grep

I am searching for an exact match on a value read from another file to lookup an email address in another file. The file being checked is called "contacts" and it has Act #, email address, and contact person. 1693;abc1693@yahoo.comt;Tommy D 6423;abc6423@yahoo.comt;Jim Doran... (2 Replies)
Discussion started by: ziggy6
2 Replies

5. Shell Programming and Scripting

Grep two words with exact match

HI Input : Counters Counter Int Ints Counters Counters Ints Ints I want to grep Counter|Int Output : Counter (1 Reply)
Discussion started by: pareshkp
1 Replies

6. Shell Programming and Scripting

grep and sed exact match questions

This post was previously mistaken for homework, but is actually a small piece of what I working on at work. Please answer if you can. QUESTION1 How do you grep only an exact string. I am using Solaris10 and do not have any GNU products installed. Contents of car.txt CAR1_KEY0 CAR1_KEY1... (2 Replies)
Discussion started by: thibodc
2 Replies

7. UNIX for Dummies Questions & Answers

grep and sed exact match questions

This was mistaken as homework in a different forum, but is not. These are questions that are close to what I am trying to do at work. QUESTION1: How do you grep only an exact string. I am using Solaris10 and do not have any GNU products installed. Contents of car.txt CAR1_KEY0 CAR1_KEY1... (1 Reply)
Discussion started by: thibodc
1 Replies

8. Solaris

grep exact match

Hi This time I'm trying to grep for an exact match e.g cat.dog.horse.cow.bird.pig horse.dog.pig pig.cat.horse.dog horse dog dog pig.dog pig.dog.bird how do I grep for dog only so that a wc -l would result 2 in above case. Thanks in advance ---------- Post updated at 06:33 AM... (4 Replies)
Discussion started by: rob171171
4 Replies

9. UNIX for Dummies Questions & Answers

using sed or grep to find exact match of text

Hi, Can anyone help me with the text editing I need here. I have a file that contains the following lines for example: (line numbers are for illustration only) 1 Hello world fantasy. 2 Hello worldfuntastic. 3 Hello world wonderful. I would like to get all those lines of text that... (5 Replies)
Discussion started by: risk_sly
5 Replies

10. UNIX for Advanced & Expert Users

Exact Match thru grep ?????

hey..... i do have text where the contents are like as follows, FILE_TYPE_NUM_01=FILE_TYPE=01|FILE_DESC=Periodic|FILE_SCHDL_TYPE=Daily|FILE_SCHDL=|FILE_SCHDL_TIME=9:00am|RESULTS=B FILE_TYPE_NUM_02=FILE_TYPE=02|FILE_DESC=NCTO|FILE_SCHDL_TYPE=Daily|FILE_SCHDL=|FILE_SCHDL_TIME=9:00am|RESULTS=M... (2 Replies)
Discussion started by: manas_ranjan
2 Replies
Login or Register to Ask a Question