2013-10-11 2 views
1

내가 같은 코드가 있습니다AWK 반전 정규 표현식 패턴 규칙

/*!40101 SET character_set_client = utf8 */; 
/*!40101 SET character_set_client = @saved_cs_client */; 
/*!50001 CREATE TABLE `sometable` (
    `id` int(11), 
    `name` char(30), 
    `user` char(30), 
) ENGINE=MyISAM */; 

가 어떻게 위 내 AWK 코드의 일치를 반전 할 수 있습니다

awk '(/\/\*\!/),(/\*\/\;/)' 

이 같은 모든 일치를? 나는 시도 :

awk '!(/\/\*\!/),(/\*\/\;/)' 
awk '!(/\/\*\!/),!(/\*\/\;/)' 

답변

3

변수

awk '/\/\*!/{a=1}!a;/\*\/;/{a=0}' test.in 

몇 가지 다른 음 사용

  • 당신은 괄호를하지 않아도을
  • 요 도망 갈 필요가 없습니다. ! 또는 ;
+0

감사합니다. – Teddybugs

1

을 사용

awk '(/\/\*\!/),(/\*\/\;/){next}{print}'