Text-Processing
如何獲取文件日誌的最近三個日期?
如何列印下一個輸出的最後三個日期:
User;month/day/year user1:01/01/2015 user1:01/01/2015 user1:01/01/2015 ... user1:01/09/2018 user1:01/08/2018 user1:01/07/2018 user1:01/04/2016 user1:01/02/2016 user1:01/01/2016
在這種情況下(2018 年日期)
編輯:
我有下一個帶有 awk 的命令:
awk '{ print $1":" substr( $0,285,291 )}' $file_input | awk '{ print $1}' | sort -n -r
期望的輸出:
user1:01/09/2018 user1:01/08/2018 user1:01/07/2018
在這裡,先按
YYYY
部分排序,然後按mm/dd
詞法排序。這將分別是第二個分隔欄位的第 7到第 10個字元和第 1到第5個字元,所以:
:
<file sort -r -b -t: -k2.7,2.10 -k 2.1,2.5 | head -n 3
(這裡添加一個
-b
以允許(並忽略)周圍的空白:
)
考慮使用這樣的排序:
sort -rt/ -k3n -k1.11n -k2n < input | head -3
這將基於 3 個基於
/
分隔符的關鍵欄位對行進行排序:首先是年份,然後是月份(欄位 1,跳過使用者名和冒號),然後是欄位 2——全部按數字排序。僅輸出最後tail -3
(最新)3 行/日期。