問題は次のとおりです。次のような (brainfuck) コードの行を含む、brain.txt というドキュメントがあります。
++++++++++[>++++++++>++++++>+<<<-]>+++.>+++++.<-.+.>>. word
最後のword
は本当にどんな言葉でもかまいません。< と > のすべてのシーケンスの長さが不均一なドキュメントから行をフィルタリングするにはどうすればよいですか?
次のコマンドを書きました。
egrep -v '^(([^<]*(<<)*[^<]*)|([^>]*(>>)*[^>]*))*$' brain.txt
しかし、うまくいかないようです。このコマンドの何が間違っているのか、誰か説明してもらえますか?
編集:Karoly Horvathが述べたように、偶数の発生を否定する代わりに、正規表現を使用して不均一な発生を一致させました。そこで、次のコマンドを書きました。
egrep '^(([^<]*<(<<)*[^<]*)|([^>]*>(>>)*[^>]*))*$' brain.txt
しかし、何らかの理由で私はまだ偶数行に一致します。