linux - 如何在 bash 中以特定字符串作为排序键对文件进行排序?

标签 linux bash shell

所以我有一个 events.csv 文件,其中包含:

  • 日期作为键和格式:DDMMYYHHMM
  • 事件名称
  • 其他(可选信息)

我想根据当前日期对它们进行排序。

Cat the events

我的下一步是:

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/

相关文章:

c++ - 如何在没有信号的情况下监控子进程?

bash - 如何在bash中建立超时后默认操作的菜单?

python - 运行 Python 脚本后在给定目录中的 cd 终端?

shell - 是否可以使用 Heredoc 将参数传递给 `runhaskell`?

linux - 如何删除包含匹配单词的文件中给定间隔的行?

linux - 这个shell脚本有什么作用?

linux - 处理多个 SIGCHLD

c++ - 加载共享库时出错 : No such file or directory even after using LD_LIBRARY_PATH and changing $PATH

linux - Spotify dbus 请求返回空元数据

bash - 将 netcat 与 FIFO 结合使用