【问题标题】:Bash - Sort File Based on 2 Columns : HH:MM:SS AM/PMBash - 基于 2 列对文件进行排序:HH:MM:SS AM/PM
【发布时间】:2022-11-16 07:21:16
【问题描述】:

试图对文件中的行进行排序。 column1 是 HH:MM:SS 格式,col2 是 AM/PM。需要先安排上午到下午的线路,然后再安排时间。

当前的 :

11:36:48 AM col3 ...
11:32:00 AM col3 ...
03:18:54 PM col3 ...
02:26:40 PM col3 ...
01:51:56 PM col3 ...
12:55:58 PM col3 ...
11:58:48 AM col3 ...
09:38:41 AM col3 ...

最后:

09:38:41 AM col3 ...
11:32:00 AM col3 ...
11:36:48 AM col3 ...
11:58:48 AM col3 ...
12:55:58 PM col3 ...
01:51:56 PM col3 ...
02:26:40 PM col3 ...
03:18:54 PM col3 ...

谢谢

【问题讨论】:

  • 你不能那样做,上午/下午搞砸了,例如12PM < 1PM
  • 请使用您尝试过的代码和您的代码生成的(错误)输出更新问题;你试过sort了吗?

标签: bash sorting timestamp


【解决方案1】:

您所要做的就是使用 grep 获取 AM 行,然后在输出中使用 sort。这样做之后,您可以对 PM 线执行相同的操作。

cp "my_file" "backup_file" #Backup old file before overwriting
grep '^[0-9:]* AM' "backup_file" | sort > "my_file"
grep '^[0-9:]* PM' "backup_file" | sort >> "my_file"

在使用 > 操作之前备份您的文件很重要,因为这将完全覆盖您的文件。

【讨论】:

    猜你喜欢
    • 2021-07-26
    • 2014-02-06
    • 2013-06-30
    • 2015-06-29
    • 2020-03-21
    • 2012-04-08
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    相关资源
    最近更新 更多