1

我想使用 awk shell 脚本对行之间time Atime B格式之间的行进行排序"00:00:00"(通过直接比较时间的时间列):

awk '{
        if ("15:21:14" <= $1 && $1 <= "15:51:14")
        {print $0}
     }'

我得到了正确的行,但是这样做对我来说绝对正确吗?
如果没有,正确的方法是什么?

4

1 回答 1

1

假设当您说“...我想对行进行排序...”时,您的真正意思是您想选择行,以下是在 awk 中编写的方法:

awk '("15:21:14" <= $1) && ($1 <= "15:51:14")' file

只要您的所有时间戳都遵循相同的格式并为每个数字使用完整的 2 位数字,例如用前导零填充一位数小时,这将起作用。如果要对结果进行排序,请通过管道输出进行排序:

awk '("15:21:14" <= $1) && ($1 <= "15:51:14")' file | sort
于 2013-03-09T10:51:26.110 回答