2017-02-09 37 views
-1

我試圖找到「機器人」一個巨大的日誌文件中「無法讀取文件夾」的錯誤。他們都在一秒鐘內登錄,更改密碼並註銷。調用SED時

我想寫bash命令,將顯示以下條件的所有配置文件會議:

  • 用戶登錄,用戶修改密碼,用戶相同的第二(所有3個動作中註銷已被1秒鐘之內完成)
  • 這些行動(登錄,變更,註銷)陸續發生在
  • 之間

fxsciaqulmlk是從日誌文件中的典型配置文件名稱沒有其他條目。

日誌文件的小部分:

Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user logged in| - 
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user changed password| - 
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user logged off| - 
Mon, 22 Aug 2016 13:15:42 +0200|178.57.66.225|faaaaaa11111| - |user logged in| - 
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user logged in| - 
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user changed password| - 
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user logged off| - 
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged in| - 
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged in| - 
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user changed password| - 
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged off| - 
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user logged in| - 
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user changed password| - 
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user changed profile| - 
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user logged off| - 
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user logged in| - 
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user changed password| - 
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user logged off| - 
Mon, 22 Aug 2016 13:20:42 +0200|178.57.67.225|faaaa0a1111| - |user logged in| - 

我寫了這個代碼:

#!/bin/bash 
sed ' 
    /logged in\s*$/! d 
    :1 
    $! N 
    /logged in\s*$/D 
    /\(logged \(in\|off\)\|changed password\)$/! s/\n[^\n]*$// 
    /logged off$/! b1 
    ' /home/indra/Desktop/Untitled Folder/log.txt 

但是當我嘗試運行此代碼,我得到這個按摩:

sed: can't read Folder/log.txt: No such file or directory 

如何解決這個問題?

+0

什麼是輸入文件看起來像和預期的輸出?鑑於虛擬數據,這裏沒有錯誤。 –

+0

預期產量? >>>>顯示以下條件的所有配置文件會議: - 用戶登錄,用戶修改密碼,用戶登錄 內相同的第二(所有3個動作都必須在1秒內完成) - 這些行動(登錄,變更,註銷)happend一個接一個,中間沒有任何其他entires .....從log.txt的 – Ahmedsaber

+0

不會考慮環節,交最少的樣本數據在這裏,瞭解[mvce](http://stackoverflow.com/幫助/ mcve)你可以很好地編輯你的問題來說清楚,在評論中添加內容通常不會使事情變得更加清晰。 –

回答

0

各地Untitled Folder用引號,因爲它包含一個空格。也許可以在第一列中啓動所有的sed輸入。

#!/bin/bash 
sed ' 
/logged in\s*$/! d 
:1 
$! N 
/logged in\s*$/D 
/\(logged \(in\|off\)\|changed password\)$/! s/\n[^\n]*$// 
/logged off$/! b1 
    ' /home/indra/Desktop/"Untitled Folder"/log.txt 
+0

沒有錯誤,但劇本不輸出在打擊 – Ahmedsaber

+0

任何事物嘗試編輯 - 啓動sed的東西都在列1 –