台灣最大程式設計社群網站
線上人數
2234
 
會員總數:246497
討論主題:190004
歡迎您免費加入會員
討論區列表 >> C# >> 如何在Log檔裡比對時間順序並照時間由新到舊排序
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何在Log檔裡比對時間順序並照時間由新到舊排序
價值 : 50 QP  點閱數:597 回應數:18
樓主

Rubio
門外漢
0 11
164 13
發送站內信

用c#實作
想請問我有很多筆log檔 例如紀錄Alarm Error等等,裡頭會記錄許多資料
例如2021/05/05 00:46:06.418 [Alarm][SetAlarm][104210][Manual]安全保護停止 人為控制 { 24322, ( 69952, 9163 ) -90 }
2021/05/05 00:46:08.516 [Alarm][ResetAlarm][104210][Manual]安全保護停止 人為控制 { 24322, ( 69952, 9164 ) -90 }
上述這些資料,想檢查資料依時間排序 由新到舊 假如當天都是5/5 但假如時間隨機跳 例如 12:30 12:31 14:25 12:32
中間裡頭跳出14:25 想檢查這些資料由新到舊的排序 想請問如何做呢?從log檔裡逐筆檢查 假如有50筆 就每筆都要檢查到 並照最新的時間排序下來 因日都會一樣 主要卡在時跟分還有毫秒
感謝各位大大!





搜尋相關Tags的文章: [ c# ] , [ 資料排序 ] ,
本篇文章發表於2021-05-26 16:46
1樓
回應

MIS2000 Lab
檢舉此回應
有考慮把這些LOG「匯入」資料庫嗎?

就能用SQL指令查詢、排序了,很方便
本篇文章回覆於2021-05-27 13:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Rubio
檢舉此回應
MIS2000 Lab 你好 他主要是顯示在c#裡頭的TextBox介面裡
現在已經可以對單個檔案做排序了,現在卡在如何在讀取時就一次排序好整個資料夾裡的檔案
本篇文章回覆於2021-05-27 16:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

leon
檢舉此回應

這是版大想要呈現的效果嗎?

本篇文章回覆於2021-05-27 20:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Rubio
檢舉此回應
leon
對的沒錯,是客戶要求,想要由新到舊就查看最新Alarm History
現在卡在一次讀取時就對目錄下全部檔案做排序
本篇文章回覆於2021-05-28 09:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

leon
檢舉此回應
現在卡在一次讀取時就對目錄下全部檔案做排序

意思是指把A資料夾裡面的 1~N檔案全讀並做排序嗎?
看不太懂 腦中沒有場景畫面
可以說得具體一點嗎?
本篇文章回覆於2021-05-28 10:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

Rubio
檢舉此回應
LEON
對的
如圖 假如我要讀取A資料夾然後並對A資料夾媕Y的各個檔案媕Y的資料作排序
例如 D:\\A 媕Y有10筆TXT檔 然後每筆TXT檔案媕Y也有數據資料
現在是要對TXT媕Y的資料做排序 一次讀取就將各筆TXT媕Y的資料做排序
目前是只能各筆單一讀取 做排序
本篇文章回覆於2021-05-28 14:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

leon
檢舉此回應
如果你有10檔案 要分別排序這10檔案內容再存成10檔案,那麼就要讀10次排序10次存10次
如果你有10檔案 要分別排序這10檔案內容再存成1檔案,那麼就要要讀10次排序1次存1次
本篇文章回覆於2021-05-28 14:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

Rubio
檢舉此回應
LEON
我的需要是第一種
請問有參考的寫法嗎??

本篇文章回覆於2021-05-28 15:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
最有價值解答

leon
檢舉此回應
或許方法很多種,這是其中的一種。



本篇文章回覆於2021-05-29 00:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

Rubio
檢舉此回應
不好意思 有個新問題
假如A檔案是原始資料 B是排序好的 但不要將排序好的檔案內容寫到A 而直接顯示B的內容呢
如何不覆寫當前的檔案,並直接顯示已排序好的內容呢?
本篇文章回覆於2021-05-31 13:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

leon
檢舉此回應
#region 存資料

.....

#endregion

裡面是用另存新檔的方式再跑耶
本篇文章回覆於2021-05-31 15:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

Rubio
檢舉此回應
leon 你好
在實測的時候會跑出這個問題耶
System.ArgumentException: '已經加入含有相同索引鍵的項目。'
本篇文章回覆於2021-06-15 11:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

leon
檢舉此回應
把你改過的程式碼PO上來瞧瞧吧
本篇文章回覆於2021-06-16 18:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
作者回應

Rubio
檢舉此回應
我照你之前9樓的程式碼上去做測試,都還沒改過
我猜是因為前面日期都一樣 年月日都一樣
本篇文章回覆於2021-06-19 10:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
回應

leon
檢舉此回應
那你就把 myDDD.Add(ss[1], textBox1.Lines[i]); 改成 myDDD.Add(ss[0]+ss[1], textBox1.Lines[i]);
本篇文章回覆於2021-06-19 20:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

回覆
如要回應,請先登入.