How to get sort command working with data separated by "|"
(pipe character) ?
Consider this sample file called "x" which have two fields:
axis-AXIS|OK
axis-AXISR|OK
axis-AXISD2X|OK
axis-AXISA|OK
axis-AXISD1|OK
axis-AXIS1RX|OK
axis-AXISR1M|OK
axis-AXISD2|FALSE
axis-AXISMD|FALSE
axis-AXISM|FALSE
axis-AXISE|OK
axis-AXISD|OK
My locale:
echo $LC_ALL
C
When it is sorted the character "|" seems to be part of the key producing a strange assortment:
sort -t"|" x
axis-AXIS1RX|OK
axis-AXISA|OK
axis-AXISD1|OK
axis-AXISD2X|OK
axis-AXISD2|FALSE
axis-AXISD|OK
axis-AXISE|OK
axis-AXISMD|FALSE
axis-AXISM|FALSE
axis-AXISR1M|OK
axis-AXISR|OK
axis-AXIS|OK
Specifying a field key sort -t"|" -k1 x
nothing changes.
Best Answer
Without the closing field number with
-k
, it will consider all fields starting from 1. You need :Test :
If your
locale
is notC
, you can set it on the fly :