我的排序不适用于数字(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”
答案 0 :(得分:1)
看起来书名和作者姓名中的空格导致排序错误计算列,如果您打印的分隔字符如'|'在awk中的每个字段之间,然后你可以使用sed临时替换所有空格,如此,
| sed -e's / /#/ g'-e's / | / / g'| sort -nk3 | sed -e's / / | / g'-e's /#/ / g'