
データ
Life by cerebral flow is coming to:---1) Prolonged jumping rate---2) Small holiday course---3) Hello this world---4) Dance rock coffee---5) Therapy unproven---Choose right answer:|1,3,5|2,5|1,2,3,5 5
...
Life by cerebral flow is coming to:---1) Prolonged jumping rate---2) Small holiday course---3) Hello this world---4) Dance rock coffee---5) Therapy unproven---Choose right answer:|1.,3.,5|2,5|1,2.,3,5 5
各行には次の内容が含まれています[Sentence]:---1)...(options)---n) ---[choose right ansewr]:|options| \tab [correct answer]
。
|[1-5],[1-5]?|
一致しない、またはalso|[1-5].,[1-5]?|
を許可するすべての文を探したいです。|1.,|
|1,|
私のPerl擬似コード
perl -pe '
# read the file a record at a time and auto-print (-p)
s/[0-5],[0-5]?//; # remove those lines having the match
s/[0-5].,[0-5]?//; # remove those lines having the match
' file
問題は、これらの一致を含む行全体を削除することです。これらの項目を一致させることができますが、ここでは一致する行全体を削除することは困難です。
一致する行を削除する方法は?
答え1
-n
代わりに使用してください-p
:
perl -ne 'print unless /[0-5],[0-5]?|[0-5].,[0-5]?/' file
-n
入力は1行ずつ処理されますが、各行は自動的に印刷されません。
あなたの目標は何であるかよくわからないので、正規表現を調整する必要があるかもしれませんが、一般的なアプローチはうまくいきます。