我有一个这样的 CSV 文件:
Order,Item,Date
387-0293,chips,04/26/2016
133-4454,soda,04/25/2016
284-9989,beer,04/27/2016
Run Code Online (Sandbox Code Playgroud)
订单量每天都在变化。
如何让第三列按日期排序?
我尝试过很多不同类型的组合,以下是我尝试过的一些我认为会起作用的方法:
cat test.csv | sort -t, -k3 > sorted.csv
cat test.csv | sort -u -r > sorted.csv
cat test.csv | sort -n -k3 > sorted.csv
Run Code Online (Sandbox Code Playgroud)
我对 bash 不太了解,只是在这里搜索并谷歌寻找答案。
你已经很接近了:
$ sort -t , -k 3.7n -k 3.1,3.2n -k 3.4,3.5n test.csv -o sorted.csv
Order,Item,Date
133-4454,soda,04/25/2016
387-0293,chips,04/26/2016
284-9989,beer,04/27/2016
Run Code Online (Sandbox Code Playgroud)
该-k
选项最多需要两个参数,您可以在其中将排序字段的开始和结束指定为基于 1 的字符串。3.7n
是“从第三个字段的第 7 个字符到行尾,按数字表示”,3.1,3.2n
是“第三个字段的第 1 个和第 2 个字符,按数字表示”,依此类推。
第一个排序字段在第一行第三个字段的末尾之后开始,因此它是空的,它在数字之前排序。
归档时间: |
|
查看次数: |
2451 次 |
最近记录: |