sed 's/\[//'
在分析日誌檔案中的時間戳欄位時如何運作?我在網路上找到了解決方案,我看到了這一行"$(head-1 "$1" | awk '{print $4}'| sed 's/\[//')"
。有人可以解釋一下每個的功能嗎?
樣本日誌,
64.12.96.106 - - [13/Sep/2003:18:02:54 -0600] ... 216.93.167.154 - - [15/Sep/2003:16:30:29 -0600]
答案1
由於您沒有提供您正在分析的任何特定日誌,因此以下是每個操作的功能,
head -1 "$1"
:列印 FILE 的第一行,該行作為參數傳遞$1
awk '{print $4}'
:列印輸出的第四列head -1 "$1"
sed 's/\[//'
:[
從最終輸出中刪除
例如sed
,
rahul@rahul$ sed 's+\[++' <<< "rah[ul"
rahul@rahul$ rahul
# In your case
rahul@rahul$ sed 's+\[++' <<< "[13/Sep/2003:18:02:54 -0600]"
rahul@rahul$ 13/Sep/2003:18:02:54 -0600]
# for hello/world
rahul@rahul$ sed 's+\/++' <<< "hello/world"
rahul@rahul$ helloworld