我想使用 awk shell 脚本以 "00:00:00"
格式对 time A
和 time B
之间的行进行排序,例如 (通过直接比较时间的时间列):
awk '{
if ("15:21:14" <= $1 && $1 <= "15:51:14")
{print $0}
}'
我得到了正确的行,但我这样做绝对正确吗?
如果不是,正确的方法是什么?
最佳答案
假设当您说“...我想对行进行排序...”时您的意思是您想要选择行,下面是如何在 awk 中编写它:
awk '("15:21:14" <= $1) && ($1 <= "15:51:14")' file
只要您的所有时间戳都遵循相同的格式并且每个数字都使用完整的 2 位数字,例如用前导零填充一位数小时,这就会起作用。如果要对结果进行排序,则将输出通过管道进行排序:
awk '("15:21:14" <= $1) && ($1 <= "15:51:14")' file | sort
关于linux - 如何使用 awk shell 脚本(如下所示?)对时间 A(格式为 "hh:mm:ss")和时间 B 之间的行进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15309003/