sorting - Linux sort command: keys with the same start but different length are not sorted in the same order -
i trying sort 2 files in order join them. of keys sorting similar , seems causing issues. example have 2 keys a1ke , a1k3-b3. using command:
sort -nk1 file.txt -o file.txt in 1 file appear in order , in other appear in reverse. causing issues when try join files.
how can sort these files in same order?
thanks
do not use "-n" option, compares according string numerical value.
-n compare according arithmetic value initial numeric string consisting of optional white space, optional - sign, , 0 or more digits, optionally followed decimal point , 0 or more digits. your keys strings, not numbers.
instead, should do:
sort -k1 file.txt -o file.txt additional info:
you can see sort considers keys identical when -n used doing unique sort:
sort -un file you see a1k3-b3 , a1ke considered equal (and therefore 1 emitted). if instead do:
sort -u file the result contain both a1k3-b3 , a1ke, want.
Comments
Post a Comment