Help me format this file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help me format this file
# 1  
Old 11-03-2009
Help me format this file

Guys, I would appreciate any help using awk or perl with the problem that I have.
I have file in following format;

1111 2222 1
3333 4444 2
5555 6666 3
7777 8888 1
9999 0000 3
1122 2233 1
3344 4455 2
5566 6677 2
7788 8899 2
9900 0011 3


and so on, the problem lies in column number 3 where data is segmented. The start of the data segment is represented by number 1 in the 3rd column and the end of the data segment is signified by number 3 in the 3rd column where as number 2 in the third column means the intermediate points between the start (1) and end (3). I have tried to represent all possible kinds that I can encounter. In simple words, I need the output to be as follows;

1111 2222 1
3333 4444 2
5555 6666 3
7777 8888 4
9999 0000 5
1122 2233 6
3344 4455 7
5566 6677 8
7788 8899 9
9900 0011 10

I would appreciate any help on this issue.
# 2  
Old 11-03-2009
Try with this:

Code:
cat input.txt | awk '{printf "%s %s %s\n",$1,$2, NR}'

# 3  
Old 11-03-2009
Something like this?

Code:
awk '{$3=NR}1' file

# 4  
Old 11-03-2009
Ok sorry guys, my mistake, I did not format my question properly, here the input again (same, no change)
1111 2222 1
3333 4444 2
5555 6666 3
7777 8888 1
9999 0000 3
1122 2233 1
3344 4455 2
5566 6677 2
7788 8899 2
9900 0011 3

and here is the output i want (changed from last post as I did a mistake explaining what I want, essentially everytime we get 1 in the third column, it signifies the start of a new number and it continues until we get 3 and then again from the 1 following the number 3, we start the new counter)
1111 2222 1
3333 4444 1
5555 6666 1
7777 8888 2
9999 0000 2
1122 2233 3
3344 4455 3
5566 6677 3
7788 8899 3
9900 0011 3


hope it is clear now how I want to format.
# 5  
Old 11-03-2009
Code:
awk '$3==1{++c}{$3=c}1' file

# 6  
Old 11-03-2009
Franklin52, you have helped me before a lot too and now again it is your answer that works perfectly for me. Thanks my friend. Regards and godbless
# 7  
Old 11-04-2009
Code:
my $n=1;
while(<DATA>){
	my @tmp = split;	
	print join " ", @tmp[0..$#tmp-1];
	print " $n\n";
	if($tmp[2] eq 3){
		$n+=1;
	}	
}
__DATA__
1111 2222 1
3333 4444 2
5555 6666 3
7777 8888 1
9999 0000 3
1122 2233 1
3344 4455 2
5566 6677 2
7788 8899 2
9900 0011 3

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to generate Excel file or to SQL output data to Excel format/tabular format

Hi , i am generating some data by firing sql query with connecting to the database by my solaris box. The below one should be the header line of my excel ,here its coming in separate row. TO_CHAR(C. CURR_EMP_NO ---------- --------------- LST_NM... (6 Replies)
Discussion started by: dani1234
6 Replies

2. Shell Programming and Scripting

Need help to format one txt file to required format

Hello Everyone, I have one source file which is genarated by SAP in different format(Which I've never seen). I need to convert that file to required format and I need to read this target file from Datastage to use this in my Jobs. So I do not have any other options except to use Unix script to... (4 Replies)
Discussion started by: Prathyu
4 Replies

3. Shell Programming and Scripting

Converting windows format file to unix format using script

Hi, I am having couple of files which i used to copy from windows to Linux, so now in case of text files (CTRL^M) appears at end of line. I know i can convert this windows format file to unix format file by running dos2unix. My requirement here is that i want to do it automatically using a... (5 Replies)
Discussion started by: sarbjit
5 Replies

4. Shell Programming and Scripting

Convert UNIX file format to PC format

Hi All, Is there any way to convert a file which is in UNIX format to a PC format.... Flip command can be used , apart form this command can we have any other way.... like usinf "awk" etc ..... main purpose of not using flip is that my Kshell doesnot support this comamnd.... (2 Replies)
Discussion started by: Samtel
2 Replies

5. UNIX for Dummies Questions & Answers

Convert UNIX file format to PC format

Hi All, Is there any way to convert a file which is in UNIX format to a PC format.... Flip command can be used , apart form this command can we have any other way.... like usinf "awk" etc ..... main purpose of not using flip is that my Kshell doesnot support this comamnd.... (1 Reply)
Discussion started by: Samtel
1 Replies

6. Shell Programming and Scripting

Convert Epoch time format to normal date time format in the same file

I have a file named "suspected" with series of line like these : {'protocol': 17, 'service': 'BitTorrent KRPC', 'server': '219.78.120.166', 'client_port': 52044, 'client': '10.64.68.44', 'server_port': 8291, 'time': 1226506312L, 'serverhostname': ''} {'protocol': 17, 'service': 'BitTorrent... (3 Replies)
Discussion started by: rk4k
3 Replies

7. Shell Programming and Scripting

AWK CSV to TXT format, TXT file not in a correct column format

HI guys, I have created a script to read 1 column in a csv file and then place it in text file. However, when i checked out the text file, it is not in a column format... Example: CSV file contains name,age aa,11 bb,22 cc,33 After using awk to get first column TXT file... (1 Reply)
Discussion started by: mdap
1 Replies

8. UNIX for Dummies Questions & Answers

To convert multi format file to a readable ascii format

Hi I have a file which has ascii , binary, binary decimal coded,decimal & hexadecimal data with lot of special characters (like öƒ.ƒ.„İİ¡Š·œƒ.„İİ¡Š· ) in it. I want to standardize the file into ASCII format & later use that as source . Can any one suggest a way a logic to convert such... (5 Replies)
Discussion started by: gaur.deepti
5 Replies

9. UNIX for Dummies Questions & Answers

Convert UTF8 Format file to ANSI format

:confused: Hi i am trying to convert a file which is in UTF8 format to ANSI format i tried to use the function ICONV but it is throwing error Function i used it as $ iconv -f UTF8 -t ANSI filename Error iam getting is NOT Supported UTF8 to ANSI please some help me out on... (9 Replies)
Discussion started by: rajreddy
9 Replies

10. UNIX for Advanced & Expert Users

Convert UTF8 Format file to ANSI format

:) Hi i am trying to convert a file which is in UTF8 format to ANSI format i tried to use the function ICONV but it is throwing error Function i used it as $ iconv -f UTF8 -t ANSI filename Error iam getting is NOT Supported UTF8 to ANSI please some help me out on this.........Let me... (1 Reply)
Discussion started by: rajreddy
1 Replies
Login or Register to Ask a Question

Featured Tech Videos