Sponsored Content
Top Forums Shell Programming and Scripting Sort each row (horizontally) in AWK or any Post 302616311 by agama on Friday 30th of March 2012 10:11:41 PM
Old 03-30-2012
Then your awk is not gnu awk and thus doesn't have asort().

Try this:

Code:
awk '
        # sort v1 into ascending order
        function bubble( v1,            n, s, i, pass, swap )
        {
                swap = 1;
                pass = 0;

                while( swap )
                {
                        swap = 0;
                        pass++;
                        for( i = 0; i <  n - pass;  i++ )
                        {
                                if( v1[i] > v1[i+1] )
                                {
                                        swap++;
                                        s = v1[i];
                                        v1[i] = v1[i+1];
                                        v1[i+1] = s;
                                }
                        }

                }
        }

    {
        split( $0, a, " " );    
        bubble( a ); 
        for( i = 1; i <= length(a); i++ ) 
            printf( "%s ", a[i] ); printf( "\n" ); 
    }'  input >output



It uses a simple bubble sort -- not all that efficient, but it works.
 

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 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

5. 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

6. UNIX for Dummies Questions & Answers

Sorting arrays horizontally without END section, awk

input: ref001, Europe, Belgium, 1001 ref001, Europe, Spain, 203 ref001, Europe, Germany, 457 ref002, America, Canada, 234 ref002, America, US, 87 ref002, America, Alaska, 652 Without using an END section, I need to write all the info related to the same ref number ($1)and continent ($2) on... (9 Replies)
Discussion started by: lucasvs
9 Replies

7. 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

8. Shell Programming and Scripting

Sort by first row - awk

how can i sort the table based on first row? thanks in advance input name d b c a l l1 l2 l3 l4 l1 1 2 3 4 l2 2 2 2 1 l3 1 1 2 2ouput name a b c d l1 l4 ... (4 Replies)
Discussion started by: quincyjones
4 Replies

9. Shell Programming and Scripting

Sort two columns with alphanumeric values horizontally

Hi, I have a file like aa bb dmns|860 dmns|756 ee ff aa bb dmns|310 dmns|260 ee ff aa bb dmns|110 dmns|77 ee ff aa bb dmns|756 dmns|860 ee ff aa bb dmns|110 dmns|77 ee ff aa bb dmns|233 dmns|79 ee ff aa bb dmns|79 dmns|233 ee ff I want to sort the values in column3 and column4... (2 Replies)
Discussion started by: sammy777888
2 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
Glib::Flags(3pm)					User Contributed Perl Documentation					  Glib::Flags(3pm)

NAME
Glib::Flags - Overloaded operators representing GLib flags HIERARCHY
Glib::Flags DESCRIPTION
Glib maps flag and enum values to the nicknames strings provided by the underlying C libraries. Representing flags this way in Perl is an interesting problem, which Glib solves by using some cool overloaded operators. The functions described here actually do the work of those overloaded operators. See the description of the flags operators in the "This Is Now That" section of Glib for more info. METHODS
scalar = $class->new ($a) o $a (scalar) Create a new flags object with given bits. This is for use from a subclass, it's not possible to create a "Glib::Flags" object as such. For example, my $f1 = Glib::ParamFlags->new ('readable'); my $f2 = Glib::ParamFlags->new (['readable','writable']); An object like this can then be used with the overloaded operators. scalar = $a->all ($b, $swap) o $b (scalar) o $swap (scalar) aref = $f->as_arrayref Return the bits of $f as a reference to an array of strings, like ['flagbit1','flagbit2']. This is the overload function for "@{}", ie. arrayizing $f. You can call it directly as a method too. Note that @$f gives the bits as a list, but as_arrayref gives an arrayref. If an arrayref is what you want then the method style somefunc()->as_arrayref can be more readable than [@{somefunc()}]. bool = $f->bool Return 1 if any bits are set in $f, or 0 if none are set. This is the overload for $f in boolean context (like "if", etc). You can call it as a method to get a true/false directly too. integer = $a->eq ($b, $swap) o $b (scalar) o $swap (integer) integer = $a->ge ($b, $swap) o $b (scalar) o $swap (integer) scalar = $a->intersect ($b, $swap) o $b (scalar) o $swap (scalar) integer = $a->ne ($b, $swap) o $b (scalar) o $swap (integer) scalar = $a->sub ($b, $swap) o $b (scalar) o $swap (scalar) scalar = $a->union ($b, $swap) o $b (scalar) o $swap (scalar) scalar = $a->xor ($b, $swap) o $b (scalar) o $swap (scalar) SEE ALSO
Glib COPYRIGHT
Copyright (C) 2003-2011 by the gtk2-perl team. This software is licensed under the LGPL. See Glib for a full notice. perl v5.14.2 2012-05-24 Glib::Flags(3pm)
All times are GMT -4. The time now is 11:09 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy