Rearranging whole columns

Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Rearranging whole columns
# 1  
Old 10-06-2009
Rearranging whole columns

Hello all,
I have a text file that is arranged:

name 3 7 2 9 5
jim a d e g k
max d g u x g
rob f w v k o

This is just an example as my real file has >1000 individuals and >64,000 columns. I need to rearrange the file so that the columns appear in numerical order so that

name 1 2 3 4 5 6 .....
jim d e a u k g
max w u d n g f
rob w v f u o k

Is there an easy way to do this? I have looked up all of the "sort" options and it appears you can only sort within one or more columns whereas I need to sort the columns themselves....

# 2  
Old 10-06-2009
If I understand correctly:

perl -lane'
	$. == 1 and @_{ @F[ 1 .. $#F ] } = 1 .. $#F;
	print "@F[ 0, @_{ sort { $a <=> $b } keys %_ } ]";
' infile

Last edited by radoulov; 10-06-2009 at 04:50 PM.. Reason: refactored
# 3  
Old 10-06-2009
And there was me writing the World's next bubble sort routine Smilie
# 4  
Old 10-07-2009
... and of course we need to sort once to get the order, not for every record Smilie

The code should be:

perl -lane'
    @_{ @F[ 1 .. $#F ] } = 1 .. $#F
      and @f = ( 0, @_{ sort { $a <=> $b } keys %_ } )
      if $. == 1;
    print "@F[@f]";
' 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

Rearranging the column

I have a text file like this, I would like to rearrange the first column (Name) according to the third column(percentage)in descending order. I mean methionine with the highest percentage should be the first one to appear under the name column. But I also want to exclude the headers from this... (2 Replies)
Discussion started by: cathum
2 Replies

2. Shell Programming and Scripting

Rearranging Data Set

Hello everybody, I've got the following problem: The data set I have is an ASCII file containing a header over 4 lines and the actual data comprised of dezimal numbers in a 1000x1000 grid (1000 lines and 1000 columns). Since I want to plot the data in GMT I need to convert it into the... (3 Replies)
Discussion started by: Evilknievel
3 Replies

3. Shell Programming and Scripting

Help with rearranging file with script

Hi Guys I normally do thins with a Windows program but I am trying to rearrange a filename based on delimiters in Ubuntu. Example v017 __ Detective Academy Q #133 Murder in the Village Of Suspension Bridges &&& Part 9.cbz = Detective Academy Q v017 #133 Murder in the Village Of Suspension... (9 Replies)
Discussion started by: itschrisonline
9 Replies

4. Shell Programming and Scripting

Help with splitting and rearranging a field in awk

Please help! I figured I would take this one to the experts. I'm working with a field that contains contents such as: LastName FirstName For example: Smith John I'm trying to take this field and split it so that it is two separate fields (first name and last name). I then need to print... (5 Replies)
Discussion started by: IX3R0XI
5 Replies

5. Shell Programming and Scripting

Rearranging of values as desired

i have a file as below :- 100 D 22 100 T 33 100 C 89 101 C 55 101 D 44 102 D 88 103 T 22 103 C 13 output format :- <number> <D value> <C Value> <T Value> if no value then zero. I want output as :- 100 22 33 89 101 44 55 0 102 88 0 0 103 0 13 22 (3 Replies)
Discussion started by: satishmallidi
3 Replies

6. Shell Programming and Scripting

Counting and rearranging the rows

Hi, I have a file that I re-arranged using awk and unix commands to produce a file that looks like this: JOE JOE JOE JOE JOE BOB BOB HI HI HI I want to count how many of the same rows there are and print it on the second column while only maintaining the original name once. The... (5 Replies)
Discussion started by: phil_heath
5 Replies

7. Shell Programming and Scripting

Rearranging into new columns (awk?)

Hi experts, I've used several solutions from this forum to delete nonsense and rearrange data in the project file I'm working on. I'm hoping you guys can give me some tips on further rearranging the data (I've seen a few solutions by searching, but one specific item has me stumped, which is only... (5 Replies)
Discussion started by: coryvp
5 Replies

8. Shell Programming and Scripting


Hello, I spent all day trying to write a script and cannot find the solution :( I have plenty files looking like this: several hundred lines precede the following interesting Bla xxx: Blub = -7537.37687 Blub = -100.644746 Blub = -3247.61954 . . . Blub = 1324.82567 Blub =... (2 Replies)
Discussion started by: tempestas
2 Replies

9. Shell Programming and Scripting

Rearranging columns

Hi, I have an input file as follows : input.txt abcdTXXqwe axdfSYYrew dasgTXXqwt gtfsTYYwer gadfSXXerw gwerSYYTXX Now I have to get four output files. output1.txt should have the first four cloumns, Where the rows containing 5th column as T and 6th-7th columns as XX output2.txt... (5 Replies)
Discussion started by: sudhamacs
5 Replies

10. Shell Programming and Scripting

Rearranging fields from a pipe

I have a large file that I am pulling only certain fields out of but my output I would like to rearrange the field order via a pipe. I have been looking through the site and man pages and have come to a loss. I am running on HP cut -c33-38,44-46,62-65,91-98 <file> | grep -e <value> >... (4 Replies)
Discussion started by: bthomas
4 Replies
Login or Register to Ask a Question