How to match on phrase at beginning of line and specific columns?


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers How to match on phrase at beginning of line and specific columns?
# 1  
Old 12-19-2012
How to match on phrase at beginning of line and specific columns?

Here is my file:

Code:
 
700       7912345678910
61234567891234567891
700       8012345678910
61234567891234567891

I want to pull all lines that begin with '700' only if columns 11-12 are '79'.
My code so far only pulls the '79', not the whole line:

Code:
 
grep ^700 file1 | cut -c 11,12 | grep 79

Thanks a bunch!
# 2  
Old 12-19-2012
Code:
grep '^700.......79' file1

# 3  
Old 12-19-2012
Code:
awk ' { if(($0 ~ /^700/)&&(substr($0,11,2)==79)) print; } ' filename

This User Gave Thanks to Yoda For This Post:
# 4  
Old 12-20-2012
That did it! I hadn't seen the 'if' statement used with 'substr' in awk before. Thanks for the lesson.
# 5  
Old 12-20-2012
Try this short version (still longer than mjf's):
Code:
$ awk '/^700/ && $2~/^79/' file
700       7912345678910

# 6  
Old 12-20-2012
Thank you, RudiC, for the alternative; that'll go into my library of examples. However, in this case, my source file sometimes has no white space before column 11, so I need to search the specific column range (for the sake of brevity, I simplified my example file). bipinajith's solution was the most accurate and worked on more than one unix OS.
# 7  
Old 12-20-2012
OK, try this one:
Code:
awk '/^700/ && $11$12=="79"' FS="" file

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Inserting n characters to beginning of line if match

I would like to insert n number of characters at the beginning of each line that starts with a given character. If possible, I would be most appreciative for a sed or awk solution. Given the data below, I would like to be able to insert either 125 spaces or 125 "-" at the beginning of every line... (6 Replies)
Discussion started by: jvoot
6 Replies

2. Shell Programming and Scripting

Match columns and print specific field

Hello, I have data in following format. ... (6 Replies)
Discussion started by: Pushpraj
6 Replies

3. Shell Programming and Scripting

Adding info to end of line if two columns match from files with different separators

I have two files (csv and vcf) which look exactly like this S1.csv func,gene,start,info "exonic","AL","2309","het" "exonic","NEF","6912","hom"S1.vcf ##fileinfo #CHROM POS ID INFO chr1 4567 rs323211 1/1:84,104,99 chr4 2309 rs346742 1/1:27,213,90 chr6 5834 ... (5 Replies)
Discussion started by: Sarah_19
5 Replies

4. UNIX for Dummies Questions & Answers

Match columns and write specific word

Hi all I have another question as of now. I have two files One file contain data like this Serendipity glamerus Shenpurity In another file these entries are present in different columns like this from 2 column onwards SRN Serendipity Non serendipity ... (1 Reply)
Discussion started by: Priyanka Chopra
1 Replies

5. UNIX for Dummies Questions & Answers

Awk match on columns and delete line

Hi, I have a file like this a 1 2 b 2 2 c 2 3 d 4 5 f 5 6 output a 1 2 c 2 3 d 4 5 f 5 6 Basically, I want to delete the whole line if $2 and $3 are the same. Thanks (5 Replies)
Discussion started by: jacobs.smith
5 Replies

6. Shell Programming and Scripting

Help with replace line based on specific pattern match

Input file data20714 7327 7366 detail data20714 7327 7366 main data250821 56532 57634 detail data250821 57527 57634 main data250821 57359 57474 main data250821 57212 57301 main data250821 57140 57159 detail data250821 56834 57082 main data250821 56708 56779 main ... (3 Replies)
Discussion started by: perl_beginner
3 Replies

7. Shell Programming and Scripting

SED Replacing all but one regex match on a line or specific matches

Hi, I'm attempting to rename some files that have spaces in them. Without linking sed commands together is it possible to replace the first three "." to " ". File.name.is.long.ext -> File name is long.ext I can get the desired effect with echo "File.name.is.long.ext" | sed 's/\./ /g;s/... (5 Replies)
Discussion started by: vectox
5 Replies

8. UNIX for Dummies Questions & Answers

Compare 2 lists using a full and/or partial match at beginning of line?

hello all, I wonder if anybody might be able to help with this. I have file 1 and file2. Both files may contain thousands of lines that have variable contents. file1 234GH 5234BTW 89er 678tfg 234 234YT tfg456 wert 78gt gh23444 (7 Replies)
Discussion started by: Garrred
7 Replies

9. Shell Programming and Scripting

match a phrase

Hi, I have a these sentences. $sent1="Transactivation of wound-responsive genes containing the core sequence of the auxin-responsive element by a wound-induced protein kinase-activated transcription factor in tobacco plants."; $sent2="I branching formation in erythroid differentiation is... (4 Replies)
Discussion started by: vanitham
4 Replies

10. UNIX for Dummies Questions & Answers

Searching for a specific phrase on Unix server

Is it possible to search all the file systems on a Unix server for a specific phrase? (1 Reply)
Discussion started by: mmcaleer
1 Replies
Login or Register to Ask a Question