今天用 sort 去排序月份字串,明明說可以用 -M 來排序,可是實際結果卻不行。使用 --debug 來察看如何排序,卻發現有 "no match for key" 的訊息,這就奇怪了。
找了半天,才找到這篇 bash - Shell sort by month
,才明白這跟 locale 有關係,因為我的 locale 設定為 zh_TW.utf-8 ,sort
在判讀月份時,是使用當地的月份來判讀,而不認英文的月份。解決方法就是加上 LANG 或 LC_TIME 即可:LANG=c sort -k1M
your_file
沒有留言:
張貼留言