How to grep from the third column?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to grep from the third column?
# 1  
Old 08-10-2015
How to grep from the third column?

Code:
PROL\tests_li004_developers:VAS:3543346:q34243,d3hs35,34bdf3,24sfgg,a3s234

Im trying to grep all text after VAS:3543346, so im trying to just have this

Code:
q34243,d3hs35,34bdf3,24sfgg,a3s234

Im confused on how I would do this
# 2  
Old 08-10-2015
If you have that in a variable:
Code:
var='PROL\tests_li004_developers:VAS:3543346:q34243,d3hs35,34bdf3,24sfgg,a3s234'
echo "${var#*VAS:3543346:}"
q34243,d3hs35,34bdf3,24sfgg,a3s234

# 3  
Old 08-10-2015
grep can't do that; try
Code:
awk -F: '/VAS:3543346/ {print $4}' file
q34243,d3hs35,34bdf3,24sfgg,a3s234

# 4  
Old 08-10-2015
It always helps us provide better answers if you tell us what OS and what shell you're using.

I don't think it can be done with grep if there are an unknown number of colons in the text you want to print (but that isn't the case in the given sample). It can't be done with grep using only standard options, and as far as I know it can't be done with a single grep...

But if you have a grep (such as the BSD version) with a -o option that prints only the matched text, the two grep pipeline:
Code:
grep 'VAS:3543346' file | grep -o '[^:]*$'

does what you want with you sample input. And to specifically check field 2 for VAS and field 3 for 3543346, you could tighten up the 1st grep to:
Code:
grep '^[^:]*:VAS:3543346:' file | grep -o '[^:]*$'

But, unless you're working with big files, it is probably faster to invoke awk once than to invoke grep twice. And, even if the input file is large enough to overcome the cost of invoking a second process, you'd have to benchmark whether awk or a two grep pipeline would be faster. (Without benchmarking, I'd guess that awk would beat the pipeline.)
# 5  
Old 08-10-2015
If i use this awk method, what would I do when the number next to VAS is diffrent, like if I want it to do that to a bunch of lines
# 6  
Old 08-10-2015
You enter a different number.

Seriously: how would you supply that "bunch of" numbers?
# 7  
Old 08-10-2015
for colon delimited input file try:
Code:
awk '
FILENAME ~ /list/ {vas[$1]=$1; next; }
vas[$3] {$1=$2=$3=""; sub(":::", ""); print $0;}
' list_of_VAS FS=: OFS=: infile

where list_of_VAS is VAS numbers list file
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep values from column 2 in reference of column 1

Gents Is it possible to update the code to get the desired output files from the input list. I called variable to the first column. I need to consider the first column as key to grep the values in the second column according to the desired request. input list (attached ) output1 ... (12 Replies)
Discussion started by: jiam912
12 Replies

2. UNIX for Beginners Questions & Answers

Grep A Column Based On Column Name

I have a file with two columns separated by white space. Dog Cat fido sneaky dopey poptart ears whisker barky herd Trying to list the words under the column named Dog. Tried a few variations of awk but can't... (4 Replies)
Discussion started by: jimmyf
4 Replies

3. Shell Programming and Scripting

Can grep a specific column?

Hello All I have an input file with data below. I would like to grep and display the data where 3rd column contains string or at least one character. Kindly please help me with this! Input: tjfa3|zznpou|224fdd.34.ff3.35 |Tiv|Otj|1 fgduul7|zznikj| ... (7 Replies)
Discussion started by: DoveLu
7 Replies

4. UNIX for Dummies Questions & Answers

Grep -v value in 2nd column

Trying to do a grep -v on a value in the 2nd column of text. So if the word apple appears in a line in the 2nd column, it would not show up when the file was cat. Seems like a simple enough operation but I just can't figure it out. Any help would be appreciated. Thanks in advance. Are apples... (4 Replies)
Discussion started by: jimmyf
4 Replies

5. Shell Programming and Scripting

How to awk or grep the last column in file when date on column contains spaces?

Hi have a large spreadsheet which has 4 columns APM00111803814 server_2 96085 Corp IT Desktop and Apps APM00111803814 server_2 96085 Corp IT Desktop and Apps APM00111803814 server_2 96034 Storage Mgmt Team APM00111803814 server_2 96152 GWP... (6 Replies)
Discussion started by: kieranfoley
6 Replies

6. Shell Programming and Scripting

Grep 5 biggest column

please help, file1.txt id,week,ict,outgoing_call,blackberry_problem,gprs_problem,sms_problem,flash_problem,sinyal_lemah,blankspot,incoming_call,mms_problem,kualitas_suara,drop_call,data_probl em,cross_connect,connect_no_voice,vas_problem ,1,sumbagsel,96,127,52,70,28,29,21,18,18,8,5,3,0,0,3... (1 Reply)
Discussion started by: radius
1 Replies

7. Shell Programming and Scripting

Grep but ignore first column

Hi, I need to perform a grep from a file, but ignore any results from the first column. For simplicity I have changed the actual data, but for arguments sake, I have a file that reads: MONACO Monaco ASMonaco MANUTD ManUtd ManchesterUnited NEWCAS NewcastleUnited NAC000 NAC ... (5 Replies)
Discussion started by: danhodges99
5 Replies

8. Shell Programming and Scripting

Column grep

hi everyone, I am looking for an easy way to extract columns from a text file based on a regular expression, kind of like grep but searching and returning columns instead. for example, suppose i have the following file, 'file.txt': A B C D B 1 2 3 4 5 6 7 8 9 0 5 6 7 8 9 2 3 8 9 0 I... (6 Replies)
Discussion started by: css136
6 Replies

9. UNIX for Dummies Questions & Answers

Grep by column number

I have a data file that is arranged like this: Marketing Ranjit Singh Eagles Dean Johnson FULL Marketing Ken Whillans Eagles Karen Thompson FULL Sales Peter RobertsonGolden TigersRich Gardener PART President Sandeep Jain Wimps Ken Whillans CONT... (7 Replies)
Discussion started by: hitman247m
7 Replies

10. UNIX for Dummies Questions & Answers

Grep by column-Please help!

This is the sample of a data file that I have. It has 10 columns: 0,285,1,2,5,285,1,2,5,0 0,168,1,1,61,168,1,1,61,1512 0,102,3,1,60,102,3,1,60,1525 0,282,3,3,2,282,3,3,2,1503 0,167,3,4,10,167,3,1,24,1472 0,101,1,0,0,101,1,0,0,0 0,263,3,2,0,263,3,2,0,1470 0,245,2,1,50,245,2,1,50,1425... (15 Replies)
Discussion started by: bobo
15 Replies
Login or Register to Ask a Question