簡體   English   中英

如何使用awk shell腳本(如下所示)對時間A(格式為“ hh:mm:ss”)和時間B之間的行進行排序?

[英]How to sort rows between time A (in format “hh:mm:ss”)and time B using awk shell script (like below?)?

我想使用awk shell腳本對time Atime 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM