Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想使用 awk shell 脚本对行之间time A和time B格式之间的行进行排序"00:00:00"(通过直接比较时间的时间列):
time A
time B
"00:00:00"
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