2016-04-22 17 views
1

編集:Solved it自分自身はコマンド構文のエラーで、正規表現とは関係ありません。複数行のgrep正規表現は機能しません

私は次のパターンと一致するようにしようとしている

grep -P "regex"を使用して

(.*) 
<FilesMatch "(^\.ht|~$|\.bak$|\.BAK$|\.old$)"> 
(.*) 
Order Allow,Deny Deny from all 
(.*) 
</FilesMatch> 
(.*) 
<DirectoryMatch "(/CVS/|.svn)"> 
(.*) 
Order Allow,Deny Deny from all 
(.*) 
</DirectoryMatch> 
(.*) 
(.*) meaning anything 

をし、この正規表現次の例のファイルオーバー

<FilesMatch \"\(\^\\\.ht\|~\$\|\\\.bak\$\|\\\.BAK\$\|\\\.old\$\)\">(.*\n){1,}Order Allow,Deny Deny from all(.*\n){1,}<\/FilesMatch>(.*\n){1,}<DirectoryMatch \"\(\/CVS\/\|\.svn\)\">(.*\n){1,}Order Allow,Deny Deny from all(.*\n){1,}<\/DirectoryMatch> 

<FilesMatch "(^\.ht|~$|\.bak$|\.BAK$|\.old$)"> 
Order Allow,Deny Deny from all 
</FilesMatch> 
<DirectoryMatch "(/CVS/|.svn)"> 
Order Allow,Deny Deny from all 
</DirectoryMatch> 

regex101によれば、動作するはずですが、何が間違っているのか分かりませんか?

ありがとうございました。

答えて

2

オーケー、それは私がそれはまたpcregrep -M 'regex'で動作する代わりにgrep -P 'regex' ...

grep -P "regex"を使用し、私自身のせいです。

ありがとうございました!

+1

次回は、動作しない正確な呪文を示してください。 – choroba