행의 결합된 옵션 필터링

행의 결합된 옵션 필터링

데이터

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입력은 한 줄씩 처리되지만 각 줄이 자동으로 인쇄되지는 않습니다.

귀하의 목표가 무엇인지 잘 모르므로 정규식을 조정해야 할 수도 있지만 일반적인 접근 방식이 작동합니다.

관련 정보