日期排序数据和仅打印所需的日期列

时间:2014-04-01 15:46:27

标签: sorting unix

假设我有类似的数据(文件是文本文件)。

Col1  Col2     Col3
user1 21:01:15 user1@gmail.com
user2 22:01:15 user2@gmail.com
user3 19:01:15 user3@gmail.com
user4 16:01:15 user4@gmail.com

我想要的是排序并且只打印屏幕上时间在19:01:15到22:01:15之间的列。请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以使用以下awk

$ awk '$2>"19:01:15" && $2<"22:01:15"' file
user1 21:01:15 user1@gmail.com

请注意,它允许您写下您喜欢的确切时间范围。

如果您希望日期范围“低于或等于”且“大于或等于”,请执行以下操作:

$ awk ' $2>="19:01:15" && $2<="22:01:15"' file
user1 21:01:15 user1@gmail.com
user2 22:01:15 user2@gmail.com
user3 19:01:15 user3@gmail.com