所以我有一个 events.csv 文件,其中包含:
- 日期作为键和格式:DDMMYYHHMM
- 事件名称
- 其他(可选信息)
我想根据当前日期对它们进行排序。
我的下一步是:
cur_date=$(date +%d%m%y | sed s/0/\ /)
cat "events.csv" | sort -rk $cur_date
去掉前导 0。
输出排序错误。 我应该先排序年份,然后排序月份,最后排序日期吗?
有什么想法吗?
最佳答案
当您说按当前日期排序时,我假设您的意思是您想要提取今天的所有条目并按时间顺序对它们进行排序。如果这是真的,那么以下内容应该适合您
grep $(date +%d%m%Y) _file_ | sort
它将从文件中提取具有今天日期的所有条目。由于所有这些条目都具有相同的日期,因此排序将自动按时间部分进行排序。
希望这有帮助。
关于linux - 如何在 bash 中以特定字符串作为排序键对文件进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53671811/