我希望使用awk shell脚本(格式化time A
格式time B
和"00:00:00"
之间的行进行排序(通过直接比较时间时间列):
awk '{
if ("15:21:14" <= $1 && $1 <= "15:51:14")
{print $0}
}'
我得到了正确的排,但这对我来说是完全正确的吗? 如果没有,那么正确的方法是什么?
答案 0 :(得分:1)
假设当你说“......我想对行进行排序......”你真的意味着你想要选择行,这里是如何用awk写的:
awk '("15:21:14" <= $1) && ($1 <= "15:51:14")' file
只要所有时间戳都遵循相同的格式并且每个数字使用一个完整的2位数,填充一位数小时,例如前导零,这将有效。如果要对结果进行排序,请将输出通过管道排序:
awk '("15:21:14" <= $1) && ($1 <= "15:51:14")' file | sort