Word search in awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Word search in awk
# 1  
Old 03-08-2007
Word search in awk

If I have data as below :

1,ABC,XXXX
2,ABC000,YYYY
3,DEF,AAAA
4,ABC0,ZZZZ

I want to get records whose 2nd col exactly match with word 'ABC'
I am using command below :

awk -F"," '$2~/ABC/' Filename

It is retrieving records as -

1,ABC,XXXX
2,ABC000,YYYY
4,ABC0,ZZZZ

But in essence I want only

1,ABC,XXXX

What change I should make to my awk command?
# 2  
Old 03-08-2007
you can try this
Code:
awk -F"," '$2~/^ABC$/' file

# 3  
Old 03-08-2007
Thanks it works.
# 4  
Old 03-08-2007
alternate:

Code:
sed -n '/,ABC,/p' filename

or

Code:
cut -d, -f2 filename| awk '{ if ($0=="ABC") print }'

or

Code:
awk -F"," '{ if ( match("^ABC$", $2 )) print }' filename

# 5  
Old 03-08-2007
My problem got complicated since I will have to substitute the string from the variable.

var="ABC"
awk -F"," -v a1="$var" '$2~/^a1$/' Filename

gives me an awk error. How this can be used?
# 6  
Old 03-08-2007
Code:
var="ABC"
nawk -F"," -v a1="$var" 'BEGIN { pattern= "^" a1 "$"} $2~pattern' Filename

# 7  
Old 03-08-2007
Hi, you can“t use a variable into a pattern matching expression.
Try this:
Code:
awk -F"," -v a1="$var" '$2~a1' Filename

Bye.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to search for a word in column header that fully matches the word not partially in awk?

I have a multicolumn text file with header in the first row like this The headers are stored in an array called . which contains I want to search for each elements of this array from that multicolumn text file. And I am using this awk approach for ii in ${hdr} do gawk -vcol="$ii" -F... (1 Reply)
Discussion started by: Atta
1 Replies

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

3. Shell Programming and Scripting

How to search for right word using awk?

Hi- I have issue with the code to get the input file reformat --Goal is reformat and print out only column name one per line, leading space or trailing space will be removed... --TABLE1.DDL as input file, and content of file as show below REPLACE VIEW TABLE1 ( ID ,COL1 ... (3 Replies)
Discussion started by: lv99
3 Replies

4. Shell Programming and Scripting

Search for the word and exporting 35 characters after that word using shell script

I have a file input.txt which have loads of weird characters, html tags and useful materials. I want to display 35 characters after the word "description" excluding weird characters like $&lmp and without html tags in the new file output.txt. Help me. Thanx in advance. I have attached the input... (4 Replies)
Discussion started by: sachit adhikari
4 Replies

5. Shell Programming and Scripting

Search for the word and exporting 35 characters after that word using shell script?

I have a file input.txt which have loads of weird characters, html tags and useful materials. I want to display 35 characters after the word description excluding weird characters like $$#$#@$#@***$# and without html tags in the new file output.txt. Help me. Thanx in advance. My final goal is to... (11 Replies)
Discussion started by: sachit adhikari
11 Replies

6. Shell Programming and Scripting

To search a word in particular column using awk

I have a data in a file like this 1 praveen bmscollege 2 shishira bnmit 3 parthiva geethamce I want to search "praveen" using awk command i tried like this but i did not get awk `$2="praveen" {print $0} ` praveen.lst can anyone help me solving this problem in... (2 Replies)
Discussion started by: praveenhegde
2 Replies

7. UNIX for Dummies Questions & Answers

Script to search for a particular word in files and print the word and path name

Hi, i am new to unix shell scripting and i need a script which would search for a particular word in all the files present in a directory. The output should have the word and file path name. For example: "word" "path name". Thanks for the reply in adv,:) (3 Replies)
Discussion started by: virtual_45
3 Replies

8. Shell Programming and Scripting

Search the word to be deleted and delete lines above this word starting from P1 to P3

Hi, I have to search a word in a text file and then I have to delete lines above from the word searched . For eg suppose the file is like this: Records P1 10,23423432 ,77:1 ,234:2 P2 10,9089004 ,77:1 ,234:2 ,87:123 ,9898:2 P3 456456 P1 :123,456456546 P2 abc:324234 (2 Replies)
Discussion started by: vsachan
2 Replies

9. Shell Programming and Scripting

search a word and print specific string using awk

Hi, I have list of directory paths in a variable and i want to delete those dirs and if dir does not exist then search that string and get the correct path from xml file after that delete the correct directory. i tried to use grep and it prints the entire line from the search.once i get the entire... (7 Replies)
Discussion started by: dragon.1431
7 Replies

10. Shell Programming and Scripting

How can i open a directory and search a word using awk....

Hi guys,I m new one in awk scripting....i want to search a word with in a directory...in that directory haviing many files...if i give a work ,it should open the directory and open each file for to search that particular word....is it possible in awk...tell me guys its really urgent.... (2 Replies)
Discussion started by: stalin2020
2 Replies
Login or Register to Ask a Question