Unix排序问题

时间:2011-01-29 01:14:35

标签: unix

我的排序不适用于数字(k3到k6),但它适用于作为字母的k1和k2。如何排序k3到k6?谢谢你的帮助。

数据:

MacOS X for dummies:Mary Abraham:53.48:88:38

代码:

awk -F“:”'{printf“%-30s%-20s%-10.2f%-10d%-10d%s \ n”,$ 1,$ 2,$ 3,$ 4,$ 5,“$”$ 3 * $ 5}'BookDB.txt | sort -nk3

格式:“TITLE | AUTHOR | PRICE | QTY AVBL | QTY SOLD | TOTAL SALES”

1 个答案:

答案 0 :(得分:1)

看起来书名和作者姓名中的空格导致排序错误计算列,如果您打印的分隔字符如'|'在awk中的每个字段之间,然后你可以使用sed临时替换所有空格,如此,

| sed -e's / /#/ g'-e's / | / / g'| sort -nk3 | sed -e's / / | / g'-e's /#/ / g'