Printing all the values in the middle of two columns

Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Printing all the values in the middle of two columns
# 1  
Old 01-22-2013
Printing all the values in the middle of two columns


I have a tab delimited text file with three columns:


1 25734      25737
1 32719      32724
1 59339      59342
1 59512      59513
1 621740     621745

For each row of the text file I want to print out all the values between the second and third columns, including them. The output should look like this:

1 25734 25735 25736 25737
1 32719 32720 32721 32722 32723 32724
1 59339 59340 59341 59342
1 59512 59513
1 621740 621741 621742 621743 621744 621745

Thank you
# 2  
Old 01-22-2013
awk '{ printf "%d ",$1; j=$2; while(j<=$NF) { if(j==$NF) { printf "%d\n",j; j++; } else { printf "%d ",j; j++; } } }' filename

This User Gave Thanks to Yoda For This Post:
# 3  
Old 01-22-2013
awk '{s=$1; for(i=$2; i<=$NF; i++) s=s OFS i; print s}' file

This User Gave Thanks to Scrutinizer For This Post:
# 4  
Old 01-22-2013
Using Perl's range operator :

$ perl -ape '$_=join " ",$F[0],($F[1]..$F[2],"\n");' file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Linux

Comapring columns in 2 files and printing the values that differ.

I have a file (file-1) that looks like this, DIP-10097N|refseq:NP_416170|uniprotkb:P30015 DIP-10117N|refseq:NP_414973|uniprotkb:P08177 DIP-10168N|refseq:NP_418766|uniprotkb:P15005 DIP-10199N|refseq:NP_415632|uniprotkb:P30958 DIP-10358N|refseq:NP_418659|uniprotkb:P28903... (4 Replies)
Discussion started by: Syeda Sumayya
4 Replies

2. Shell Programming and Scripting

Adding columns with values dependent on existing columns

Hello I have a file as below chr1 start ref alt code1 code2 chr1 18884 C CAAAA 2 0 chr1 135419 TATACA T 2 0 chr1 332045 T TTG 0 2 chr1 453838 T TAC 2 0 chr1 567652 T TG 1 0 chr1 602541 ... (2 Replies)
Discussion started by: plumb_r
2 Replies

3. Shell Programming and Scripting

Printing in columns

is there a short one-liner that can print out in columns instead of a long list? as in, instead of: apples oranges cats dogs sky monkey giraffe cups spoons tv cable it'll print something like this (properly indented of course :) ): (9 Replies)
Discussion started by: SkySmart
9 Replies

4. UNIX for Dummies Questions & Answers

Removing columns from a text file that do not have any values in second and third columns

I have a text file that has three columns. But at the end of the text file, there are trailing lines that have missing second and third columns: 4 0.04972604 KLHL28 4 0.0497332 CSTB 4 0.04979822 AIF1 4 0.04983331 DECR2 4 0.04990344 KATNB1 4 4 4 4 How can I remove the trailing... (3 Replies)
Discussion started by: evelibertine
3 Replies

5. Shell Programming and Scripting

Get values from different columns from file2 when match values of file1

Hi everyone, I have file1 and file2 comma separated both. file1 is: Header1,Header2,Header3,Header4,Header5,Header6,Header7,Header8,Header9,Header10 Code7,,,,,,,,, Code5,,,,,,,,, Code3,,,,,,,,, Code9,,,,,,,,, Code2,,,,,,,,,file2... (17 Replies)
Discussion started by: cgkmal
17 Replies

6. Windows & DOS: Issues & Discussions

Linux to Windows Printing: PDF starts printing from middle of page.

We are using Red Hat. We have a issue like this: We want to print from Linux, to a printer attached to a Windows machine. What we want to print is a PDF. It prints, but the printing starts from the middle of the page. In the report, there is no space at the top but still printing starts from the... (5 Replies)
Discussion started by: rohan69
5 Replies

7. Shell Programming and Scripting

Unix File - Adding columns in the middle

Hello, I have a comma separated flat file. It contains some 20 columns. I want to add two new columns at position 2,3. So that file will have 22 columns. I am providing here sample data with file having 4 columns. Appreciate your help in finding solution for this. data in input file:... (11 Replies)
Discussion started by: ravi.videla
11 Replies

8. UNIX for Dummies Questions & Answers

printing only the middle word between two patterns

How would I print the word "and" between the words "FOO" and BAR" using sed? My file has three words in it FOO and BAR. I only want the word "and". Thanks every one. (7 Replies)
Discussion started by: tigta09
7 Replies

9. Shell Programming and Scripting

Printing columns

Im using awk to print columns. Basically I have a file with like 500 columns and I want to print the 200th-300th column and ignore the rest... how would I do it without putting $200, $201 .... $300 thanks (6 Replies)
Discussion started by: kylle345
6 Replies

10. Shell Programming and Scripting

printing columns

Here's what I wrote: #!/bin/sh d1=`grep Dialtone dialtone | awk '{print $2, $3, $4, $5, $6, $7, $8, $9}'` d2=`grep pstsys dialtone | awk '{print $12}'` echo "$d1 $d2" I expected the result to be this: Dialtone on host 1 slot 13 port 1, pstsys05 Dialtone on host 1 slot 13 port 1,... (3 Replies)
Discussion started by: cdunavent
3 Replies
Login or Register to Ask a Question

Featured Tech Videos