다음과 같이 ASCII 대문자 입력 텍스트 파일이 1 개 있습니다. 여기에 2 개의 스위치 케이스가 있습니다. 내가 필요한 것은 모든 문자열을 아래의 텍스트 파일에서 세부 함수 (굵게)로 '$'로 시작하고 새 파일 1에 넣어야합니다. 그러면 nvp_add 함수에서 '$'로 시작하는 모든 문자열을 추출해야합니다 (굵은 체로) 아래 TEXTFILE과 새 파일 2. 이 같은 출력 기대하고 있습니다에 넣어 :
case "11": ### eventDDoSLow
$ 심각도, $ 설명, $ :
예상 출력은 파일 1로 eventID, $ eventURL, $ alertLevel, $ eventStart, $ eventSourceCount
case "15": ### eventWormLow
,
$ 심각도 $ 설명, $ EVENTID, $ eventURL, $ alertLevel, $ eventStart, $ eventSourceCount, $ eventSourceTable, $ eventDestCount, $ eventDestTable, $ eventProtocolCount, $ eventProtocolTable, $ eventServiceCount, $ eventServiceTable, $ mazuSourceName
case "11": ### eventDDoSLow
$ 심각도, $ 설명, $ 이벤트 ID, $ eventURL, $ alertLevel, $ eventStart, $ eventSourceCount
,321 :예상 출력 파일이있을 수 있습니다 0
$ 심각도 $ 설명, $ EVENTID, $ eventURL, $ alertLevel, $ eventStart, $ eventSourceCount, $ eventSourceTable, $ eventDestCount, $ eventDestTable, $ eventProtocolCount, $ eventProtocolTable, $ eventServiceCount, $ eventServiceTable, $ mazuSourceName
입력 파일 (일반 아스키는) :
switch($specific-trap)
{
case "11": ### eventDDoSLow
##########
# $1 = severity
# $2 = description
# $3 = eventID
# $4 = eventURL
# $5 = alertLevel
# $6 = eventStart
# $7 = eventSourceCount
# $8 = eventSourceTable
# $9 = eventDestCount
# $10 = eventDestTable
# $11 = eventProtocolCount
# $12 = eventProtocolTable
# $13 = eventServiceCount
# $14 = eventServiceTable
# $15 = eventNormalBPS
# $16 = eventCurrentBPS
# $17 = eventNormalPPS
# $18 = eventCurrentPPS
##########
$severity = $1
$description = $2
$eventID = $3
$eventURL = $4
$alertLevel = lookup($5, AlertLevel)
$eventStart = $6
$eventSourceCount = $7
$eventSourceTable = $8
$eventDestCount = $9
$eventDestTable = $10
$eventProtocolCount = $11
$eventProtocolTable = $12
$eventServiceCount = $13
$eventServiceTable = $14
$eventNormalBPS = $15
$eventCurrentBPS = $16
$eventNormalPPS = $17
$eventCurrentPPS = $18
include "$NC_RULES_HOME/include-snmptrap/riverbed/riverbed-
MAZU-MIB.parser.include.snmptrap.rules"
@URL = $eventURL
$OS_EventId = "SNMPTRAP-riverbed-MAZU-MIB-eventDDoSLow"
@AlertGroup = "Denial Of Service"
@AlertKey = "Event ID: " + $eventID
@Summary = "Denial of Service (Src: " + $mazuSourceName + ", Dest: " +
$mazuDestName + ")" + " (" + @AlertKey + ") "
$DEFAULT_Severity = 2
$DEFAULT_Type = 1
$DEFAULT_ExpireTime = 0
@Identifier = @Node + " " + @AlertKey + " " + @AlertGroup + " " +
$DEFAULT_Type + " " + @Agent + " " + @Manager + " " + $specific-trap
$alertLevel = $alertLevel + " (" + $5 + ")"
if(match($OPTION_EnableDetails, "1") or
match($OPTION_EnableDetails_riverbed, "1")) {
**details****($severity, $description, $eventID, $eventURL, $alertLevel,
$eventStart, $eventSourceCount)**
}
**@ExtendedAttr = **nvp_add**(@ExtendedAttr, "severity", $severity,
"description", $description, "eventID", $eventID,
"eventURL", $eventURL, "alertLevel", $alertLevel,
"eventStart", $eventStart,
"eventSourceCount", $eventSourceCount)**
case "15": ### eventWormLow
##########
# $1 = severity
# $2 = description
# $3 = eventID
# $4 = eventURL
# $5 = alertLevel
# $6 = eventStart
# $7 = eventSourceCount
# $8 = eventSourceTable
# $9 = eventDestCount
# $10 = eventDestTable
# $11 = eventProtocolCount
# $12 = eventProtocolTable
# $13 = eventServiceCount
# $14 = eventServiceTable
##########
$severity = $1
$description = $2
$eventID = $3
$eventURL = $4
$alertLevel = lookup($5, AlertLevel)
$eventStart = $6
$eventSourceCount = $7
$eventSourceTable = $8
$eventDestCount = $9
$eventDestTable = $10
$eventProtocolCount = $11
$eventProtocolTable = $12
$eventServiceCount = $13
$eventServiceTable = $14
include "$NC_RULES_HOME/include-snmptrap/riverbed/riverbed-
MAZU-MIB.parser.include.snmptrap.rules"
@URL = $eventURL
$OS_EventId = "SNMPTRAP-riverbed-MAZU-MIB-eventWormLow"
@AlertGroup = "Worm Detected"
@AlertKey = "Event ID: " + $eventID
@Summary = "Worm Detected (Src: " + $mazuSourceName + ", Dest: " +
$mazuDestName + ")" + " (" + @AlertKey + ") "
$DEFAULT_Severity = 2
$DEFAULT_Type = 1
$DEFAULT_ExpireTime = 0
@Identifier = @Node + " " + @AlertKey + " " + @AlertGroup + " " +
$DEFAULT_Type + " " + @Agent + " " + @Manager + " " + $specific-trap
$alertLevel = $alertLevel + " (" + $5 + ")"
if(match($OPTION_EnableDetails, "1") or
match($OPTION_EnableDetails_riverbed, "1")) {
**details($severity, $description, $eventID, $eventURL, $alertLevel,
$eventStart, $eventSourceCount, $eventSourceTable, $eventDestCount, $eventDestTable,
$eventProtocolCount, $eventProtocolTable, $eventServiceCount, $eventServiceTable,
$mazuSourceName)**
}
**@ExtendedAttr = nvp_add(@ExtendedAttr, "severity", $severity, "description", $description, "eventID", $eventID,
"eventURL", $eventURL, "alertLevel", $alertLevel, "eventStart", $eventStart,
"eventSourceCount", $eventSourceCount, "eventSourceTable", $eventSourceTable, "eventDestCount", $eventDestCount,
"eventDestTable", $eventDestTable, "eventProtocolCount", $eventProtocolCount, "eventProtocolTable", $eventProtocolTable,
"eventServiceCount", $eventServiceCount, "eventServiceTable", $eventServiceTable, "mazuSourceName", $mazuSourceName)**
2 시간 전에 다음 질문을했습니다. http://stackoverflow.com/questions/18267978/how-to-extract-certain-strings-start-with-a-symbol-from-a-text -file-in-python –
다르지 않습니다. – user2671444
아무도이 작업을 수행하는 방법에 대한 아이디어가 있습니까? – user2671444