BASH脚本按日期排序

seg*_*r09 2 sorting bash date

我是bash脚本的新手,我们的教授让我们按这种格式对文件进行排序

peas|10.00|05 Apr 2012
pea soup|10.00|05 Jan 2012
ham|10.00|06 Apr 2012
Run Code Online (Sandbox Code Playgroud)

使用第三个字段上的日期,最新项目显示在顶部.我尝试过使用过滤器和排序的组合,但它们不起作用.谁能帮我?谢谢

piz*_*zza 16

尝试

sort  -t '|' -k 3.8,3.11nr  -k 3.4,3.6Mr -k 3.1,3.2nr < input
      ------ -------------  ------------ ------------
      sep    first key      second key   third key
Run Code Online (Sandbox Code Playgroud)

  • 很酷.仅供记录,月份排序是GNU特定功能.它可能在其他Unices中不起作用. (2认同)