1

正規表現は初めてで、grepを使用した正規表現検索を処理できません。perlを試すことを考えました。

正規表現に相当するperlを提供できますか

^\s*\*\s*\[ \][^\*]+?(\w*\:[^\*]+\d$)|([^\*]+[.]com[.]au$)

Linuxのファイルで実行したい..複数行検索...誰か助けてもらえますか?

私の操作を処理できるawkコマンドでも可能です。

次のリンクですでにこれに取り組んでいます

正規表現を使用したgrepのスコープ

ファイルの特定の段落をgrepするための正規表現

式をそのまま使用すると、次のようになります。syntax error near "^"

4

2 に答える 2

1

私はPCREGREPユーティリティを使用してそれを解決することができました

pcregrep -M '(^\s*\*\s*\[ \][^\*]+?(\w*\:[^\*]+\d$)|([^\*]+[.]com[.]au$))' file1

それはそれをしました:)ありがとう@Damian@jack

于 2012-06-13T12:53:06.830 に答える
1

コマンドライン(ワンライナー)のperlで上記の正規表現を使用する方法をお探しですか?試す:

perl -nle 'print if /regex_here/' < file

例えば

perl -nle 'print if /bin/' < /etc/passwd

「bin」ですべての行を印刷し、

perl -nle 'print if /^\s*\*\s*\[ \][^\*]+?(\w*\:[^\*]+\d$)|([^\*]+[.]com[.]au$)/' < file

あなたがやりたいことをする必要があります。

于 2012-06-13T18:16:00.557 に答える