2011-11-09 2 views
1

내가 좋아하는 뭔가 보이는 문서가 : 나는 콜론 전에 말씀을하고 싶은 이로부터메모장 ++ 정규식 - 자율 IDOL 쿼리에서 패턴/로그

sort=SIZE:NumberDecreasing 
FieldText=(((EQUAL{226742}:LocationId)) AND()) 

FieldText=(((EQUAL{226742}:LocationId)) AND ((EQUAL{1}:LOD AND NOTEQUAL{1}:SCR AND EMPTY{}:RPDCITYID AND NOTEQUAL{1}:Industrial))) 

FieldText=(NOT EQUAL{1}:ISSCHEME AND EQUAL{215629}:LocationId) 

sort=DEALDATE:decreasing 

을, 그 전에 {} 괄호가있는 경우 콜론, 그리고 콜론 뒤에 나오는 단어. 이것들은 파일에 남아있는 유일한 것들이어야하며 각각은 각각의 새로운 줄에 있어야합니다.

SIZE:NumberDecreasing 
EQUAL:LocationId 
EQUAL:LocationId 
EQUAL:LOD 
NOTEQUAL:SCR 
EMPTY:RPDCITYID 
NOTEQUAL:Industrial 
EQUAL:ISSCHEME 
EQUAL:LocationId  
DEALDATE:decreasing 

내가 지금까지 온 가장 가까운는 다음과 같습니다 : 찾기 : ^ 같은

출력은 보일 것이다. + {[0-9]} : ([A-ZA-Z] +) 로 교체 : 여러 번 실행하는 목적으로 \ 2 ...

: ... \ 1 , 그리고 나중에 ... with \ N로 대체하십시오. 그러면 여러 줄 바꿈을 제거 할 수 있습니다.

컨텍스트 : - 내가하고 있어요이 이미 datestamps를 제거하고 아래로 정렬에 쿼리의 요소를 감소 FieldText 나는 일반 UNIX 도구가없는

매개 변수, 나는이 수행하고 로그 분석입니다 Windows 환경에서

원래 로그 보이는 같은 :

03/11/2011 16:25:44 [9] ACTION=Query&summary=Context&print=none&printFields=DISPLAYNAME%2CRECORDTYPE%2CSTREET%2CTOWN%2CCOUNTY%2CPOSTCODE%2CLATITUDE%2CLONGITUDE&DatabaseMatch=Autocomplete&sort=RECORDTYPE%3Areversealphabetical%2BDRETITLE%3Aincreasing&maxresults=200&FieldText=%28WILD%7Bbournemou%2A%7D%3ADisplayName%20NOT%20MATCH%7BScheme%7D%3ARecordType%29 (10.55.81.151) 
03/11/2011 16:25:45 [9] Returning 23 matches 
03/11/2011 16:25:45 [9] Query complete 
03/11/2011 16:25:46 [8] ACTION=GetQueryTagValues&documentCount=True&databaseMatch=Deal&minScore=70&weighfieldtext=false&FieldName=TotalSizeSizeInSquareMetres%2CAnnualRental%2CDealType%2CYield&start=1&FieldText=%28MATCH%7BBournemouth%7D%3ATown%29 (10.55.81.151) 
03/11/2011 16:25:46 [12] ACTION=Query&databaseMatch=Deal&maxResults=50&minScore=70&sort=DEALDATE%3Adecreasing&weighfieldtext=false&totalResults=true&PrintFields=LocationId%2CLatitude%2CLongitude%2CDealId%2CFloorOrUnitNumber%2CAddressAlias%2A%2CEGAddressAliasID%2COriginalBuildingName%2CSubBuilding%2CBuildingName%2CBuildingNumber%2CDependentStreet%2CStreet%2CDependentLocality%2CLocality%2CTown%2CCounty%2CPostcode%2CSchemeName%2CBuildingId%2CFullAddress%2CDealType%2CDealDate%2CSalesPrice%2CYield%2CRent%2CTotalSizeSizeInSquareMetres%2CMappingPropertyUsetype&start=1&FieldText=%28MATCH%7BBournemouth%7D%3ATown%29 (10.55.81.151) 
03/11/2011 16:25:46 [8] GetQueryTagValues complete 
03/11/2011 16:25:47 [12] Returning 50 matches 
03/11/2011 16:25:47 [12] Query complete 
03/11/2011 16:25:51 [13] ACTION=Query&print=all&databaseMatch=locationidsearch&sort=RELEVANCE%2BPOSTCODE%3Aincreasing&maxResults=10&start=1&totalResults=true&minscore=70&weighfieldtext=false&FieldText=%28%20NOT%20LESS%7B50%7D%3AOFFICE%5FPERCENT%20AND%20EXISTS%7B%7D%3AOFFICE%5FPERCENT%20NOT%20EQUAL%7B1%7D%3AISSCHEME%29&Text=%28Brazennose%3AFullAddress%2BAND%2BHouse%3AFullAddress%29&synonym=True (10.55.81.151) 
03/11/2011 16:25:51 [13] Returning 3 matches 
03/11/2011 16:25:51 [13] Query complete 
전체 운동의 목적은 필드 쿼리 및 분류에 (어떻게 우리가 그들에게 정렬/쿼리하는)되고있는 발견하는 것입니다

-이 목적으로 , 출력도 유용 할 수 있습니다 - 비록 그것이 필수적이지는 않지만.

+0

내가 쉽게 할 수없는 경우, 당신은 어떻게 생각하세요 ... 그것을 할 수있는 프로그램을 작성 끝낼 수 있습니다? – penguat

+0

나는 프로그램이 갈 길이라고 생각한다. 이것은 Perl에서 사소한 것입니다. – Borodin

+0

초기 로그 형식을 취하고이를 최종 출력으로 줄이는 것이 perl에서도 똑같은 일이겠습니까? Windows 용 펄에 대해 알아야 할 수도 있습니다. – penguat

답변

1

아래의 Perl 프로그램이 완료되었으며 소스에 샘플 데이터가 포함되어 있습니다. 중간 공간으로 인해 NOT EQUAL{1}:ISSCHEMEEQUAL:ISSCHEME으로보고하는 것을 포함하여 정확히 사용자가 설명하는 결과물을 생성합니다.

use strict; 
use warnings; 

while (<DATA>) { 
    print "$1:$2\n" while /(\w+) (?: \{\d*\})? : (\w+)/xg; 
} 

__DATA__ 
sort=SIZE:NumberDecreasing 
FieldText=(((EQUAL{226742}:LocationId)) AND()) 

FieldText=(((EQUAL{226742}:LocationId)) AND ((EQUAL{1}:LOD AND NOTEQUAL{1}:SCR AND EMPTY{}:RPDCITYID AND NOTEQUAL{1}:Industrial))) 

FieldText=(NOT EQUAL{1}:ISSCHEME AND EQUAL{215629}:LocationId) 

sort=DEALDATE:decreasing 

OUTPUT

SIZE:NumberDecreasing 
    EQUAL:LocationId 
    EQUAL:LocationId 
    EQUAL:LOD 
    NOTEQUAL:SCR 
    EMPTY:RPDCITYID 
    NOTEQUAL:Industrial 
    EQUAL:ISSCHEME 
    EQUAL:LocationId 
    DEALDATE:decreasing 
관련 문제