Sponsored Content
Full Discussion: Sort by first row - awk
Top Forums Shell Programming and Scripting Sort by first row - awk Post 302941780 by RudiC on Tuesday 21st of April 2015 06:21:12 AM
Old 04-21-2015
This is not as easy as it seems in the first place. Given you spell "Name" with uppercase "N" and that "N" sorts below all lower case letters, you could try like
Code:
awk -f transp.awk file | LC_ALL=C sort | awk -f transp.awk
Name    a       b       c       d
l       l4      l2      l3      l1
l1      4       2       3       1
l2      1       2       2       2
l3      2       1       2       1

with transp.awk
Code:
                {MX=NF
                 for (i=1; i<=NF; i++) C[NR, i]=$i
                }
END             {for (j=1; j<=NR; j++)  {for (i=1; i<=MX; i++) printf "%s\t", C[i,j]
                                         printf "\n"
                                        }
                }

You may want to add some refinements, like setting MX to the max(NF), or doing some error checking... some awk versions offer their internal sort; that might help as well...
This User Gave Thanks to RudiC For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sort and semi-duplicate row - keep latest only

I have a pipe delimited file. Key is field 2, date is field 5 (as example, my real file is more complicated of course, but the KEY and DATE are accurate) There can be duplicate rows for a key with different dates. I need to keep only rows with latest date in this case. Example data: ... (4 Replies)
Discussion started by: LisaS
4 Replies

2. Shell Programming and Scripting

awk command : row by row merging of two files

I want to write a scrpit to merge files row wise (actually concatinating) main.txt X Y Z file 1 A B C file 2 1 2 3 now i want the script to check if the file1 is empty or not, if empty then make it like A B C 1 2 3 again to check if second file is empty if not do as done... (0 Replies)
Discussion started by: shashi792
0 Replies

3. Shell Programming and Scripting

Sort a file from specific row onwards

Hello All: I've file in below format. File name is "FIRSTN.TBL": AAAAAA N BBBBBBBBBBBBBBBBBBBBBBB N . . . . ZZZZZZZZZZZZZZZZZZZZZZZZZZ N My file row length is 40 characters and my second column will start from 25th column and it is only... (3 Replies)
Discussion started by: nvkuriseti
3 Replies

4. Shell Programming and Scripting

Sort a the file & refine data column & row format

cat file1.txt field1 "user1": field2:"data-cde" field3:"data-pqr" field4:"data-mno" field1 "user1": field2:"data-dcb" field3:"data-mxz" field4:"data-zul" field1 "user2": field2:"data-cqz" field3:"data-xoq" field4:"data-pos" Now i need to have the date like below. i have just... (7 Replies)
Discussion started by: ckaramsetty
7 Replies

5. Shell Programming and Scripting

Sort data from column to row

Hi, I need somebody's help with sorting data with awk. I've got a file: 10 aaa 4584 12 bbb 6138 20 ccc 4417 21 ddd 7796 10 eee 7484 12 fff ... (5 Replies)
Discussion started by: killerbee
5 Replies

6. Shell Programming and Scripting

Sort each row (horizontally) in AWK or any

Hello, How to sort each row in a document with numerical values and with more than one row. Example Input data (file1.txt): 4 6 8 1 7 2 12 9 6 10 6 1 14 5 7 and I want the the output to look like this(file2.txt): 1 4 6 7 8 2 6 9 10 12 1 5 6 7 14 I've tried sort -n file1.txt >... (12 Replies)
Discussion started by: joseamck
12 Replies

7. Shell Programming and Scripting

Subtracting each row from the first row in a single column file using awk

Hi Friends, I have a single column data like below. 1 2 3 4 5 I need the output like below. 0 1 2 3 4 where each row (including first row) subtracting from first row and the result should print below like the way shown in output file. Thanks Sid (11 Replies)
Discussion started by: ks_reddy
11 Replies

8. UNIX for Dummies Questions & Answers

awk to print first row with forth column and last row with fifth column in each file

file with this content awk 'NR==1 {print $4} && NR==2 {print $5}' file The error is shown with syntax error; what can be done (4 Replies)
Discussion started by: cdfd123
4 Replies

9. Shell Programming and Scripting

awk transpose column to row and sort

I am trying to awk the output from below output for each port: i need separate line with comma source file Output required (3 Replies)
Discussion started by: ranjancom2000
3 Replies

10. UNIX for Beginners Questions & Answers

Sort by values in the 1st row, leaving first four coulumns untouched

Dear all, will be thankful if you can help on sort command. My data looks like (tab separated; number of columns 2317; N of rows ~200000): a b c d V10 V2 V8 V4 V7 xx z y 1000 1 2 0 2 0 tr v m 1001 0 0 1 2 2 rg s ... (7 Replies)
Discussion started by: kush
7 Replies
Cz::Sort(3pm)						User Contributed Perl Documentation					     Cz::Sort(3pm)

NAME
Cz::Sort - Czech sort SYNOPSIS
use Cz::Sort; my $result = czcmp("_x j&a", "_&p"); my @sorted = czsort qw(plachta plaoka Planieka planieka plani); print "@sorted "; DESCRIPTION
Implements czech sorting conventions, indepentent on current locales in effect, which are often bad. Does the four-pass sort. The idea and the base of the conversion table comes from Petr Olsak's program csr and the code is as compliant with CSN 97 6030 as possible. The basic function provided by this module, is czcmp. If compares two scalars and returns the (-1, 0, 1) result. The function can be called directly, like my $result = czcmp("_x j&a", "_&p"); But for convenience and also because of compatibility with older versions, there is a function czsort. It works on list of strings and returns that list, hmm, sorted. The function is defined simply like sub czsort { sort { czcmp($a, $b); } @_; } standard use of user's function in sort. Hashes would be simply sorted @sorted = sort { czcmp($hash{$a}, $hash{$b}) } keys %hash; Both czcmp and czsort are exported into caller's namespace by default, as well as cscmp and cssort that are just aliases. This module comes with encoding table prepared for ISO-8859-2 (Latin-2) encoding. If your data come in different one, you might want to check the module Cstocs which can be used for reencoding of the list's data prior to calling czsort, or reencode this module to fit your needs. VERSION
0.68 SEE ALSO
perl(1), Cz::Cstocs(3). AUTHOR
(c) 1997--2000 Jan Pazdziora <adelton@fi.muni.cz>, http://www.fi.muni.cz/~adelton/ at Faculty of Informatics, Masaryk University, Brno perl v5.10.1 2000-05-16 Cz::Sort(3pm)
All times are GMT -4. The time now is 06:21 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy