>>>>> lina  <lina.lastn...@gmail.com> writes:

        First of all, a kindly reminder: there's a news:comp.unix.shell
        newsgroup (also available via Google Groups [1], though a proper
        newsreader software is recommended), with a few truly
        knowledgeable folks among the subscribers, which such questions
        should've been pointed to.

[1] http://groups.google.com/group/comp.unix.shell/

[…]

 > I just remember the sort command, but I still don't know how to get
 > the ideal one,

 > after I tried the sort -n -k2 , something changed on field 2 but it's
 > still a bit away from the one I need.

        Unfortunately, the numeric (-n) sort cannot be performed over
        the field that contains numbers prefixed with arbitrary strings.
        Therefore, it's necessary to split such a field into the
        separate prefix and number parts, like (assuming GNU Sed):

$ sed -e 's/^\(\s*\w\+\s\+[^0-9[:blank:]]\+\)\([[:digit:]]\+\)/\1 \2/' 
 238CHO   C10 3617   1.697   5.334   9.317
 238CHO   C11 3624   1.665   5.468   9.092
^D
 238CHO   C 10 3617   1.697   5.334   9.317
 238CHO   C 11 3624   1.665   5.468   9.092
$ 

        Then, the output may be sorted on the now-third column, and the
        extra space removed.  Thus:

$ sed -e 's/^\(\s*\w\+\s\+[^0-9[:blank:]]\+\)\([[:digit:]]\+\)/\1 \2/' \
      | sort -nk 3,3 -k1,1 \
      | sed -e 's/^\(\s*\w\+\s\+[^0-9[:blank:]]\+\)\s\([[:digit:]]\+\)/\1\2/' 

[…]

-- 
FSF associate member #7257


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/86livkp9o3....@gray.siamics.net

Reply via email to