如何使用awk shell脚本(如下所示)在时间A(格式为"hh:mm:ss")和时间B之间对行进行排序?



我想在"00:00:00"格式的time Atime 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

相关内容

最新更新