Rearranging the colums in a tab delimited file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Rearranging the colums in a tab delimited file
# 1  
Old 04-11-2012
Rearranging the colums in a tab delimited file

I want to rearrange some of my columns in my dat file; how do i do this using a script

Suppose, I have an input file like this:
Code:
BASENAME	STREETTYPE	PREFIX	SUFFIX	HOUSENUMBER	BUILDUP	ORDER8	ORDER2	ORDER1	ISOCOUNTRYCODE	POSTALCODE
SILVER LAKE	RD		NW	1135	NEW BRIGHTON	RAMSEY		MINNESOTA	USA	55112
8TH	ST		S	3120	WISCONSIN RAPIDS	WOOD		WISCONSIN	USA	54494
COUNTY	ROAD	H	W	2070	MOUNDS VIEW	RAMSEY		MINNESOTA	USA	55112

and I want my output file to look like this:
Code:
PREFIX	BASENAME	STREETTYPE	SUFFIX	HOUSENUMBER	BUILDUP	ORDER8	ORDER2	ORDER1	ISOCOUNTRYCODE	POSTALCODE
NW	SILVER LAKE	RD		1135	NEW BRIGHTON	RAMSEY		MINNESOTA	USA	55112
S	8TH	ST		3120	WISCONSIN RAPIDS	WOOD		WISCONSIN	USA	54494
W	COUNTY	ROAD	H	2070	MOUNDS VIEW	RAMSEY		MINNESOTA	USA	55112


Last edited by joeyg; 04-11-2012 at 04:20 PM.. Reason: please wrap programming and text files in CodeTags
# 2  
Old 04-11-2012
Code:
awk -F'\t' -v OFS="\t" '{ print $3, $1, $2, $4, $5, $6, $7, $8, $9, $10, $11 }' filename > outputfile

# 3  
Old 04-11-2012
Here is a start

Code:
$ awk 'OFS="\t" {print $3,$1,$2,$4}' sample1.txt
PREFIX  BASENAME        STREETTYPE      SUFFIX
RD      SILVER  LAKE    NW
S       8TH     ST      3120
H       COUNTY  ROAD    W

I used tab between fields, although the length of some of your fields could make that delimiter problematic.
# 4  
Old 04-11-2012
Try this awk script...
Code:
awk '{
   if (NR > 1) {
      for (i=1;i<=NF;i++)
          if ($i ~ "^[NEWS]([NEWS])?$") {
             z=$i
             sub($i,"\b",$i)
             print z FS $0
          }
          else {print; next}
   }
   else {z=$1; $1=$3; $3=$2; $2=z; print}
}' file

# 5  
Old 04-11-2012
Code:
awk -F'\t' '{s=$4; $4=$3; $3=$2; $3=$1; $1=s}1' OFS='\t' infile

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Replace a column in tab delimited file with column in other tab delimited file,based on match

Hello Everyone.. I want to replace the retail col from FileI with cstp1 col from FileP if the strpno matches in both files FileP.txt ... (2 Replies)
Discussion started by: YogeshG
2 Replies

2. Shell Programming and Scripting

Tab Delimited file in loop

Hi, I have requirement to create tab delimited file with values coming from variables. File will contain only two columns separated by tab. Header will be added once. Values will be keep adding upon the script run. If values already exists then values will be replaced. I have done so... (1 Reply)
Discussion started by: sukhdip
1 Replies

3. UNIX for Dummies Questions & Answers

Need to convert a pipe delimited text file to tab delimited

Hi, I have a rquirement in unix as below . I have a text file with me seperated by | symbol and i need to generate a excel file through unix commands/script so that each value will go to each column. ex: Input Text file: 1|A|apple 2|B|bottle excel file to be generated as output as... (9 Replies)
Discussion started by: raja kakitapall
9 Replies

4. UNIX for Dummies Questions & Answers

Need help with tab delimited file in unix

Hi, I need urgent help with a tab delimited file I am working on. This is the file : TTTT|YYYYYYY|jargon-journal|MP0000000UID||"j1, j2, j3" I need th following output: TTTT|YYYYYYY|jargon-journal|MP0000000UID||ji TTTT|YYYYYYY|jargon-journal|MP0000000UID||j2... (8 Replies)
Discussion started by: rayarnab
8 Replies

5. Shell Programming and Scripting

How to make tab delimited file to space delimited?

Hi How to make tab delimited file to space delimited? in put file: ABC kgy jkh ghj ash kjl o/p file: ABC kgy jkh ghj ash kjl Use code tags, thanks. (1 Reply)
Discussion started by: jagdishrout
1 Replies

6. Shell Programming and Scripting

Help with converting Pipe delimited file to Tab Delimited

I have a file which was pipe delimited, I need to make it tab delimited. I tried with sed but no use cat file | sed 's/|//t/g' The above command substituted "/t" not tab in the place of pipe. Sample file: abc|123|2012-01-30|2012-04-28|xyz have to convert to: abc 123... (6 Replies)
Discussion started by: karumudi7
6 Replies

7. UNIX for Dummies Questions & Answers

tab delimited file that is not tab delimited.

Hi Forum I have a tab delimited file that opens well in Openoffice calc (excel). But when I perform any operation in command line, it reads the file incorrectly. When I 'save As' the same file in office as tab delimited then it works fine. The file that I think is tab delimited is actually... (8 Replies)
Discussion started by: imlearning
8 Replies

8. UNIX for Dummies Questions & Answers

Converting Space delimited file to Tab delimited file

Hi all, I have a file with single white space delimited values, I want to convert them to a tab delimited file. I tried sed, tr ... but nothing is working. Thanks, Rajeevan D (16 Replies)
Discussion started by: jeevs81
16 Replies

9. Shell Programming and Scripting

Converting Tab delimited file to Comma delimited file in Unix

Hi, Can anyone let me know on how to convert a Tab delimited file to Comma delimited file in Unix Thanks!! (22 Replies)
Discussion started by: charan81
22 Replies

10. Shell Programming and Scripting

tab delimited file to commas

Hi there Just wondered if someone could help me out I have a file that has been delimited by tabs, ie field1<tab>fiield2<tab>field3 Does anybody know a command that will convert tabs to commas throughout the entire file? Note: there are a number of unpopulated fields in the file so... (6 Replies)
Discussion started by: hcclnoodles
6 Replies
Login or Register to Ask a Question