Print consecutive numbers in column2


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Print consecutive numbers in column2
# 1  
Old 02-15-2012
Print consecutive numbers in column2

Hi,

I have an input file of the following style

input.txt
Quote:
1 -1 3 4 .................... 4000
2 -1 4 5 ..................... 4000
4 -1 6 7 ...................... 4000
3 -1 17 19 ....................4000
The 4000 at the end indicates the total no. of columns in that row.

I would like to replace all -1s with consecutive 1 and 2 and print the whole line again.

So, the output would be

output.txt
Quote:
1 1 3 4 .................... 4000
2 2 4 5 ..................... 4000
4 1 6 7 ...................... 4000
3 2 17 19 ....................4000
Thanks in advance.

Last edited by jacobs.smith; 02-15-2012 at 06:06 PM.. Reason: Wrong title
# 2  
Old 02-15-2012
Code:
awk '$2=NR' inputfile

Under some systems, particularly solaris, you'll need to use nawk, since its awk is an old-fashioned implementation with a severe restriction on the maximum sizes of lines and number of columns it can use. They keep it for backwards compatibility and hide the 'good stuff' in strange places.
This User Gave Thanks to Corona688 For This Post:
# 3  
Old 02-15-2012
Code:
awk '{$2=NR%2+1;print}' inputfile

This User Gave Thanks to chihung For This Post:
# 4  
Old 02-16-2012
Quote:
Originally Posted by Corona688
Code:
awk '$2=NR' inputfile

Under some systems, particularly solaris, you'll need to use nawk, since its awk is an old-fashioned implementation with a severe restriction on the maximum sizes of lines and number of columns it can use. They keep it for backwards compatibility and hide the 'good stuff' in strange places.
It print the output in this way

op from code
Quote:
1 1 3 4
2 2 4 5
4 3 6 7
3 4 17 19
But, I needed was

Desired output
Quote:
1 1 3 4
2 2 4 5
4 1 6 7
3 2 17 19
---------- Post updated at 09:35 AM ---------- Previous update was at 09:31 AM ----------

Quote:
Originally Posted by chihung
Code:
awk '{$2=NR%2+1;print}' inputfile

Chihung,

Thanks for the code.

It prints


Quote:
1 2 3 4
2 1 4 5
4 2 6 7
3 1 17 19
instead of


Quote:
1 1 3 4
2 2 4 5
4 1 6 7
3 2 17 19
# 5  
Old 02-16-2012
Make it (NR%2)+1 then.
# 6  
Old 02-16-2012
Still it prints this output


Quote:
1 2 3 4
2 1 4 5
4 2 6 7
3 1 17 19

But, I need is


Quote:
1 1 3 4
2 2 4 5
4 1 6 7
3 2 17 19
# 7  
Old 02-16-2012
((NR+1)%2)+1 ?
This User Gave Thanks to Corona688 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

Check/print missing number in a consecutive range and remove duplicate numbers

Hi, In an ideal scenario, I will have a listing of db transaction log that gets copied to a DR site and if I have them all, they will be numbered consecutively like below. 1_79811_01234567.arc 1_79812_01234567.arc 1_79813_01234567.arc 1_79814_01234567.arc 1_79815_01234567.arc... (3 Replies)
Discussion started by: newbie_01
3 Replies

2. Shell Programming and Scripting

awk print values between consecutive lines

I have a file in below format: file01.txt TERM TERM TERM ABC 12315 68.53 12042013 165144 ABC 12315 62.12 12042013 165145 ABC 12315 122.36 12052013 165146 ABC 12315 582.18 12052013 165147 ABC 12316 2.36 12052013 165141 ABC 12316 ... (8 Replies)
Discussion started by: alex2005
8 Replies

3. UNIX for Dummies Questions & Answers

Sum every 3 consecutive numbers in a column

Dear All, I have a file with only one column. And I want to add every 3 consecutive numbers together and print the result. Input File: 21.1 10 10 55 11 99 10 8 4 Expected Output: 41.1 (5 Replies)
Discussion started by: NamS
5 Replies

4. Shell Programming and Scripting

Adding the corresponding values for every 5th consecutive numbers

Dear All, I have a file which is as follows: Input File: 231 100.1 233 99 235 200.9 238 80.1 239 90.2 240 77.0 243 99.5 245 16.20 246 13.55 247 11.8 249 13.7 250 99.6 (1 Reply)
Discussion started by: NamS
1 Replies

5. UNIX for Dummies Questions & Answers

How to combine and insert missing consecutive numbers - awk or script?

Hi all, I have two (2) sets of files that are based on some snapshots of database that I want to merge and insert any missing sequential number. Below are example representation of these files: file1: DATE TIME COL1 COL2 COL3 COL4 ID 01/10/2013 0800 100 ... (3 Replies)
Discussion started by: newbie_01
3 Replies

6. Shell Programming and Scripting

Disruption of consecutive numbers

I do have a tab delimited file with the following format 200 46 201 67 204 89 205 98 206 89 208 890 210 23 .. ... 100's of rows I would like to output the missing consecutive number of the first column. The expected output will be: (1 Reply)
Discussion started by: Lucky Ali
1 Replies

7. UNIX for Dummies Questions & Answers

Print numbers and associated text belonging to an interval of numbers

##### (0 Replies)
Discussion started by: lucasvs
0 Replies

8. UNIX for Dummies Questions & Answers

how to print out consecutive two line from a text file

the text file like below's input: aaaaaaaaafdsfsda sdfsadfasdfasfds sdfadsf asdfadf asdfa adfsfsafas sdfsfafads asdfasdfsa I want to print out consecutive two line output: aaaaaaaaafdsfsda (1 Reply)
Discussion started by: vincent_W
1 Replies

9. Shell Programming and Scripting

Finding consecutive numbers in version names on a txt file

Hi all. I have a directory which contains files that can be versioned. All the files are named according to a pattern like this: TEXTSTRING1-001.EXTENSION TEXTSTRING2-001.EXTENSION TEXTSTRING3-001.EXTENSION ... TEXTSTRINGn-001.EXTENSION If a file is versioned, a file called ... (10 Replies)
Discussion started by: fox1212
10 Replies

10. Shell Programming and Scripting

Inserting a range of consecutive numbers into a text file

I have a text file in the following format .... START 1,1 2,1 3,1 .. .. 9,1 10,1 END .... I want to change to the output to .... START 1,1 2,1 3,1 .. (4 Replies)
Discussion started by: VNR
4 Replies
Login or Register to Ask a Question