2013-10-12 3 views
0

Следующая команда ничего не возвращает и я думаю, что мое регулярное выражение хорошо?Sed regex не работает

echo 'The.Big.Bang.Theory.S07E01.VOSTFR.720p.WEB-DL.DD5.1.H.264-GKS.mkv' |\ 
sed -n '/The.Big.Bang.Theory*VOSTFR*720p*WEB-DL*.mkv/p' 

Спасибо!

+2

Я не знаю СЕПГ, но я думаю, что Вы не точка перед каждым * и также я думаю, что точки должны быть с косой чертой – Darka

+1

Torrenting is bad, mmkay. И Теория Большого Взрыва - ужасно некрасивое шоу, которое пытается подражать культуре выродка без какого-либо глубокого понимания этого, что она делает путем тривиальной и стереотипной культуры выродка. Это есть sed,. *, Нет *. –

+0

Вы должны просто использовать egrep для этого. –

ответ

2
  • \. соответствует . полукокса
  • .* матчи любые символьные ноль или более раз:

    sed -n '/The\.Big\.Bang\.Theory.*VOSTFR.*720p.*WEB-DL.*\.mkv/p'

+0

Да, я забыл точки :) – CrazyMax

0

y* означает ноль или более y с. R* означает ноль и более R s. и т.д.

Вы, вероятно, хотите

/The\.Big\.Bang\.Theory.*VOSTFR*720p.*WEB-DL.*\.mkv/ 
0

работает так:

echo 'The.Big.Bang.Theory.S07E01.VOSTFR.720p.WEB-DL.DD5.1.H.264-GKS.mkv' |\ 
sed -n '/The.Big.Bang.Theory.*VOSTFR.*720p.*WEB-DL.*.mkv/p' 

Я забыл точки:/