我想在"00:00:00"
格式的time A
和time B
之间排序使用awk shell脚本(通过直接比较时间的时间列):
awk '{
if ("15:21:14" <= $1 && $1 <= "15:51:14")
{print $0}
}'
我得到了正确的行,但是我这样做是绝对正确的吗?
如果不是,正确的方法是什么?
假设你说"…"我想要排序行…"你的意思是你想要SELECT行,这里是如何在awk中编写的:
awk '("15:21:14" <= $1) && ($1 <= "15:51:14")' file
只要所有的时间戳都遵循相同的格式,并为每个数字使用完整的2位数,例如,用前导零填充个位数小时,这就可以工作。如果要对结果进行排序,则将输出管道输出到sort:
awk '("15:21:14" <= $1) && ($1 <= "15:51:14")' file | sort