2012-05-02 41 views
0

目前我使用下面的命令趕在MY_FILE_NAME錯誤字符串* .LOGErrror字符串美中不足的是:冗餘與grep命令

Currentdate=`date -u +"%Y/%m/%d"` 
YEST=`TZ=XYZ+24 date '+%Y/%m/%d'` 

grep -E "$Currentdate|$YEST" MY_FILE_NAME*.log | grep "Type: Error" 

這個命令與字符串產生巨大的數據「類型:錯誤」在相同的錯誤類型的冗餘(在我的情況顯示相同的錯誤,如100倍)

我想要顯示的相同類型的錯誤字符串只有一次

回答

1

如果使用GNU/Linux的嘗試「 - m'開關

grep -m 1 -E "$Currentdate|$YEST" MY_FILE_NAME*.log | grep "Type: Error" 

在grep的GNU版本中,'-m'開關在找到匹配項後停止讀取輸入文件。在構建AIX和類似版本的舊版Unix grep中不存在此功能。

如果AIX在沒有-M或-B看到this StackOvreflow post

+0

它說的「grep:M:沒有一個公認的標誌」您使用的是什麼操作系統和發行 – user1292831

+0

?提示:鍵入'uname -a'。 –

+0

我使用AIX和我通過putty登錄 – user1292831