我運行了一個minecraft服務器並且想定期清理我的日誌文件。我已經開發了一堆能夠在gedit或notepad ++中使用的正則表達式命令,並且它們完美地工作,但我希望能夠自動化該過程。SED正則表達式替換日誌文件
基本文件清理的命令是這樣的:
cat server.log | sed -e 's/REGEXTODELETE//g' > server.log
,但我遇到了麻煩正則表達式命令正確轉換到SED。我在CentOS6.3上使用sed。
下面是在記事本++工作的命令的例子:
^[0-9]+-[0-9]+-[0-9]+ [0-9]+:[0-9]+:[0-9]+ \[INFO\] Connection reset$
但是當我進入到我的bash腳本:
cat server.clean.log | sed -e 's/^[0-9]*-[0-9]*-[0-9]* [0-9]*:[0-9]*:[0-9]* \[INFO\] Connection reset$//g' > server.clean.log
它清空整個文件。我看了全部,我懷疑我有空白的問題,但經過大約一個小時的搜索後,我卡住了。任何幫助表示讚賞,我可以提供更多示例。
'cat file | anycmd> file'將截斷該文件。在貓看到內容之前,shell用'>'截斷文件。 –