Shell 使用awk和sort后重新插入分隔符
我对脚本非常陌生,所以如果这是一个非常明显的问题,请原谅我。我正在Bourne shell中编写约会跟踪脚本(不幸的是,我不得不使用Bourne)。我需要按日期顺序对约会进行排序,每个约会由7列组成,以冒号分隔: 1:26:2013:周六:16.00:17.30:烧烤Shell 使用awk和sort后重新插入分隔符,shell,sorting,awk,Shell,Sorting,Awk,我对脚本非常陌生,所以如果这是一个非常明显的问题,请原谅我。我正在Bourne shell中编写约会跟踪脚本(不幸的是,我不得不使用Bourne)。我需要按日期顺序对约会进行排序,每个约会由7列组成,以冒号分隔: 1:26:2013:周六:16.00:17.30:烧烤 2013年1月24日:星期四:14.00:15.10:CSS会议 1:25:2013:星期五:12.00:12.30:商务午餐 1:27:2013:周日:10.00:17.30:志愿者海滩清理 2:24:2013:周日:20.00
2013年1月24日:星期四:14.00:15.10:CSS会议
1:25:2013:星期五:12.00:12.30:商务午餐
1:27:2013:周日:10.00:17.30:志愿者海滩清理
2:24:2013:周日:20.00:24.00:派对
2013年2月11日:星期一:16.00:17.30:牙医就诊
2013年1月24日:星期四:11.00:11.45:项目会议
3:24:2013:周日:8.00:11.30:教堂野餐
2013年2月8日:星期五:12.00:17.30:光环锦标赛
1:19:2013:周六:16.00:20.30:扑克 这是我到目前为止所拥有的,除了去掉冒号分隔符之外,它完全符合我的要求<代码>awk-F:“{print$1,$2,$3,$4,$5,$6,$7 |”sort-k 1,1-k 2,2n-k3,3n-n-o appts.txt”}appts.txt 1 19 2013周六16.00 20.30扑克
1 2013年12月24日星期四11.00 11.45项目会议
1 2013年12月24日星期四14.00 15.10 CSS会议
1.25 2013年星期五12.00 12.30商务午餐
1 26 2013周六16.00 17.30烧烤
如何取回冒号分隔符?我太可笑了。。。不知道为什么我一开始就用awk 这正是我想要的
sort -k 1,1 -k 2,2n -k3,3n -n -t: -o appts.txt appts.txt
我很可笑。。。不知道为什么我一开始就用awk 这正是我想要的
sort -k 1,1 -k 2,2n -k3,3n -n -t: -o appts.txt appts.txt
最简单的答案是,首先不要移除它们。至少在我的sort版本中,它与原始文件一样工作:
sort -k 1,1 -k 2,2n -k3,3n -n -o appts2.txt < appts.txt
最简单的答案是,首先不要移除它们。至少在我的sort版本中,它与原始文件一样工作:
sort -k 1,1 -k 2,2n -k3,3n -n -o appts2.txt < appts.txt
排序顺序不应该是
-k3n-k1n-k2n
之类的吗?排序顺序不应该是-k3n-k1n-k2n
之类的吗?