2015-04-25 2 views
1

У меня есть файл журнала, который создается из скрипта Баш, который использует $(date), поэтому есть даты в таком формате:Как связывать строки с форматами даты?

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

Смежные вопросы