2015-04-25 28 views
1

我有一個是從使用$(date) bash腳本創建一個日誌文件,所以有這樣的形式日期:如何用日期格式擦寫行?

Fri Apr 24 22:10:39 CEST 2015 

日誌文件看起來像這樣:

Using SCRIPTS_ROOTDIR: /home/gillin/moses/scripts 
Using multi-thread GIZA 
using gzip 
(1) preparing corpus @ Fri Apr 24 22:10:39 CEST 2015 
Executing: mkdir -p /media/2tb/ccexp/phrase-clustercat-mgiza/work.en-ru/training/corpus 
(1.0) selecting factors @ Fri Apr 24 22:10:39 CEST 2015 
Forking... 
(1.2) creating vcb file /media/2tb/ccexp/phrase-clustercat-mgiza/work.en-ru/training/corpus/en.vcb @ Fri Apr 24 22:10:39 CEST 2015 
(1.1) running mkcls @ Fri Apr 24 22:10:39 CEST 2015 
/home/gillin/moses/training-tools/mkcls -c50 -n2 -p/media/2tb/ccexp/corpus.exp/train-clean.en -V/media/2tb/ccexp/phrase-clustercat-mgiza/work.en-ru/training/corpus/en.vcb.classes opt 
Executing: /home/gillin/moses/training-tools/mkcls -c50 -n2 -p/media/2tb/ccexp/corpus.exp/train-clean.en -V/media/2tb/ccexp/phrase-clustercat-mgiza/work.en-ru/training/corpus/en.vcb.classes opt 
(1.1) running mkcls @ Fri Apr 24 22:10:39 CEST 2015 
/home/gillin/moses/training-tools/mkcls -c50 -n2 -p/media/2tb/ccexp/corpus.exp/train-clean.ru -V/media/2tb/ccexp/phrase-clustercat-mgiza/work.en-ru/training/corpus/ru.vcb.classes opt 
Executing: /home/gillin/moses/training-tools/mkcls -c50 -n2 -p/media/2tb/ccexp/corpus.exp/train-clean.ru -V/media/2tb/ccexp/phrase-clustercat-mgiza/work.en-ru/training/corpus/ru.vcb.classes opt 

有一種方式,我可以grep所有包含輸出$(date)的行?

目前我使用此正則表達式:

[a-z].*[1-9] [0-2][1-9]:[0-6][0-9]:[0-6][0-9] CEST 2015 

準確地捕捉線像

preparing corpus @ Fri Apr 24 22:10:39 CEST 2015 

但我需要的全系列:

(1) preparing corpus @ Fri Apr 24 22:10:39 CEST 2015 

同時,也是一年時間有點硬編碼。有更好的正則表達式或unix工具可以提取$(date)輸出行嗎?

+0

-O參數? – alvas

回答

1

試試這個:從那裏

unalias grep 
grep --color=never '.*[a-z].*[1-9] [0-2][1-9]:[0-6][0-9]:[0-6][0-9] CEST 2015' file 
+0

這不會在句子開始處捕捉到「(1)」。 – alvas

+0

我已經更新了我的答案。你使用哪個版本的grep和哪個操作系統? – Cyrus

+0

它現在=)。我使用的是grep 2.16。什麼是'unalias'? – alvas