2011-01-29 125 views
0

我的排序對數字(k3到k6)不起作用,但它適用於字母表示的k1和k2。如何排序K3到K6?感謝您的幫助。Unix排序問題

數據:

的MacOS X傻瓜:瑪麗亞伯拉罕:53.48:88:38

代碼:

AWK -F 「:」「{printf的「%-30s%-20s% -10.2f%-10d%-10d%s \ n「,$ 1,$ 2,$ 3,$ 4,$ 5,」$「$ 3 * $ 5}'BookDB.txt |排序-nk3

格式爲:「TITLE |作者|報價|數量AVBL |數量出售|總銷售額」

+0

不確定這是否適用於Mac OS的排序版本,但您可以指定分隔符字段爲「:」而不是默認空白: sort -t':'-n -k3,3 – 2011-01-29 01:46:11

回答

1

貌似在書名和作者姓名的空間是造成某種錯誤計數到列,如果你打印分隔符字符,如'|' awk中的每個字段之間,則可以使用sed臨時替換所有空格,例如

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