sort each column of text file alone


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sort each column of text file alone
# 1  
Old 05-10-2011
sort each row of text file alone

Hello ,

i have a text file like this

Code:
1 a1 ,AB ,AC ;AD ,EE
2 a2 ,WE ;TR ,YT ,WW 
3 a3 ;AS ,UY ;RF ,YT

i want to sort this text file based on each row , and excluding 2nd column from the sorting and not taking the comma or ; into consideration in the sorting, so it will become like this :

Code:
1 a1 ,AB ,AC ;AD ,EE 
2 a2 ;TR ,WE ,WW ,YT  
3 a3 ;AS ;RF ,UY ,YT

is this can be done ?
thanks in advance

Last edited by shelladdict; 05-10-2011 at 10:52 AM..
# 2  
Old 05-10-2011
Try:
Code:
perl -nae '@F[2..$#F]=sort {$x=$a;$y=$b;$x=~s/[,;]//;$y=~s/[,;]//;$x cmp $y} @F[2..$#F];print "@F\n"' file

# 3  
Old 05-10-2011
Hello , thanks for your reply , but it did not worked
# 4  
Old 05-10-2011
What output did you get? It worked for me...
Code:
[root@linux ~]# cat file
1 a1 ,AB ,AC ;AD ,EE
2 a2 ,WE ;TR ,YT ,WW
3 a3 ;AS ,UY ;RF ,YT
[root@linux ~]#
[root@linux ~]# perl -nae '@F[2..$#F]=sort {$x=$a;$y=$b;$x=~s/[,;]//;$y=~s/[,;]//;$x cmp $y} @F[2..$#F];print "@F\n"' file
1 a1 ,AB ,AC ;AD ,EE
2 a2 ;TR ,WE ,WW ,YT
3 a3 ;AS ;RF ,UY ,YT

# 5  
Old 05-10-2011
try:
Code:
echo '1 a1 ,AB ,AC ;AD ,EE
2 a2 ,WE ;TR ,YT ,WW
3 a3 ;AS ,UY ;RF ,YT'  |awk '{printf $1 FS $2 FS;for(i=3;i<=NF;i++) b[i]=$i;l=asort(b); for(j=1;j<=l;j++) print b[j] FS|"sort|xargs -n4";printf "";close("sort|xargs -n4");delete b}'
1 a1 ,AB ,AC ;AD ,EE
2 a2 ;TR ,WE ,WW ,YT
3 a3 ;AS ;RF ,UY ,YT

# 6  
Old 05-11-2011
thanks everyone for your reply , but i'm not that good in shell , so if i changed the , and ; to another characters , what i should i change in the script ?? i think that's why it's not working ,

thanks
# 7  
Old 05-11-2011
Which characters do you want to remove exactly?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to align/sort the column pairs of an csv file, based on keyword word specified in another file?

I have a csv file as shown below, xop_thy 80 avr_njk 50 str_nyu 60 avr_irt 70 str_nhj 60 avr_ngt 50 str_tgt 80 xop_nmg 50 xop_nth 40 cyv_gty 40 cop_thl 40 vir_tyk 80 vir_plo 20 vir_thk 40 ijk_yuc 70 cop_thy 70 ijk_yuc 80 irt_hgt 80 I need to align/sort the csv file based... (7 Replies)
Discussion started by: dineshkumarsrk
7 Replies

2. UNIX for Beginners Questions & Answers

How to sort a column in excel/csv file?

I have to sort the 4th column of an excel/csv file. I tried the following command sort -u --field-separator=, --numeric-sort -k 2 -n dinesh.csv > test.csv But, it's not working. Moreover, I have to do the same for more than 30 excel/csv file. So please help me to do the same. (6 Replies)
Discussion started by: dineshkumarsrk
6 Replies

3. Shell Programming and Scripting

Sort a file content using one column

Hello All, I have a file which have content as below. 03/09/2014 10:35 AM 618 Admin\rick pqr_ klm2_pog12_20140309_c.xlsx 03/10/2014 10:35 AM 618 user\test01 mplz_ fgh2_lal12_20140310_c.xlsx 03/17/2014 10:35 AM 618 Admin\vick abc_ xyz2_bc12_20140317_c.xlsx 03/18/2014 ... (2 Replies)
Discussion started by: kumar30213
2 Replies

4. UNIX for Dummies Questions & Answers

sort a unix file by 3rd column

Hi, Can anybody tell me how to sort a unix file by 3rd column and not by ltr? Please help Thanks in advance (2 Replies)
Discussion started by: vinnyvirk
2 Replies

5. UNIX for Dummies Questions & Answers

Sort text file starting at column X

Hello everyone! As the heading reads, I would like to sort the lines of a text file, starting at a specific column (i.e. skip the first X characters of each line). What I’m actually trying to sort is the md5 sums file of a directory. Every time I copy a new file to that directory, I perform... (3 Replies)
Discussion started by: iznogoud
3 Replies

6. Shell Programming and Scripting

Can't sort file by size column

Hello, I've done ls -ls >fileout1 When I do the sort command for +4 it sorts it bu group. When I do +5 it sorts it by date. But it's skipping the file size column. Example: rwxr-xr-x 1 Grueben sup 65 16 Sep 13:58 cdee How can I sort it by file size? It doesn't... (2 Replies)
Discussion started by: Grueben
2 Replies

7. UNIX for Dummies Questions & Answers

How to insert alternative columns and sort text from first column to second?

Hi Everybody, I am just new to UNIX as well as to this forum. I have a text file with 10,000 coloumns and each coloumn contains values separated by space. I want to separate them into new coloumns..the file is something like this as ad af 1 A as ad af 1 D ... ... 1 and A are in one... (7 Replies)
Discussion started by: Unilearn
7 Replies

8. Shell Programming and Scripting

Sort file based on column

Hi, My input file is $cat samp 1 siva 1 raja 2 siva 1 siva 2 raja 4 venkat i want sort this name wise...alos need to remove duplicate lines. i am using cat samp|awk '{print $2,$1}'|sort -u it showing raja 1 (3 Replies)
Discussion started by: rsivasan
3 Replies

9. Shell Programming and Scripting

Search max value in a column in a file instead of sort

Hi Everyone, 1.txt 00:00:00 0 0 0 0 0 0 0 00:00:01 0 0 0 2 1 33 2 00:00:02 5 0 0 0 0 0 0 00:00:03 0 4 0 0 0 0 0... (5 Replies)
Discussion started by: jimmy_y
5 Replies

10. Shell Programming and Scripting

Sort a particular column in a file

Dear All, Good day. Here i am facing some problem like below. file contains 12345 0001 090112 14385 0001 090112 13255 0001 090112 11345 0001 090112 .... I want to sort ascending according to the first column. What will be the shell script. (4 Replies)
Discussion started by: saifurshaon
4 Replies
Login or Register to Ask a Question