1

Я должен отфильтровать строки, как показано ниже:

[javac] /Users/looris/Sviluppo/android/projects/toutry/src/net/looris/toutry/Stuff.java:23: warning: unmappable character for encoding ascii
[javac]             return (poked=false); // NOTA: è un'assegnazione, non un controllo!
[javac]                                                ^

Я пробовал |grep -v -A2 "unmappable character for encoding ascii" но он просто ничего не делает.

Если я просто |grep -v "unmappable character for encoding ascii" он делает фильтр эту строку, но мне нужно фильтровать следующие две строки тоже.

(используя «grep (GNU grep) 2.5.1» под OSX 10.5)

1 ответ1

2

Если вы grep -A2 -v , он начнет пропускать строки, если сразу после них будет более 2 строк, содержащих шаблон поиска, что явно не то, что вам нужно. Попробуй это:

| awk 'BEGIN { skip = 0 } /unmappable character for encoding ascii/ { skip = 3 } { if (skip > 0) { skip-- } else { print $0 } }'

Код AWK расширен:

BEGIN { 
    skip = 0
}
/unmappable character for encoding ascii/ { 
    skip = 3
}
{ 
    if (skip > 0) { 
        skip--
    } else { 
        print $0
    } 
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .