bash - multi character separated sort -
how can sort !! delimited records using sort command?
for file1
1!!2!!3 2!3!!3!!1 3!!2!!2 expected output
2!3!!3!!1 3!!2!!2 1!!2!!3 then
sort -t \!\! -k 3 file1 result:
sort: multi-character tab ‘!!’ why isn't working?
multi-character delimiters not allowed in sort -t can use:
sort -t '!' -k1 file 1!!b!!c 2!!f!!w 4!!e!!e edit: if ! can there in data can use trick:
sed 's/!!/\x06/g' file | sort -t $'\x06' -k1 | sed 's/\x06/!!/g' 1!!b!!c 2!!f!!w 4!!e!!e edit2: doing in single command use awk:
awk -f '!!' -v k=1 '{a[$k,$0]=$0} end{asort(a, b, "@ind_num_asc"); (i in b) print b[i]}' file
Comments
Post a Comment