여러 디렉터리에 파일을 입력하고 기존 색인 이름을 index=windows_pr 및 index=windows_np로 변경하려고 합니다.
표시된 WinEventLog 블록은 모두 input.conf라는 동일한 파일에 있지만 A.(EVZ_pr_windows/inputs.conf) 및 B(DEG_np_windows/inputs.conf)와 같이 다른 이름을 가진 폴더에 있습니다. 따라서 _pr로 끝나는 색인이 있는 모든 파일 섹션은 폴더 A inputs.conf에 있고, _np로 끝나는 색인이 있는 모든 파일 섹션은 폴더 B input.conf에 있습니다. 스크립트는 _pr로 끝나는 인덱스를 index = windows_pr로 변경하고 _np로 끝나는 인덱스를 index = windows_np로 변경해야 합니다.
input.conf의 WinEventLog 블록은 응용 프로그램, 보안, 시스템, ForwardedEvents 및 설정으로 제한됩니다.
이것을 시도했지만 오류가 발생합니다
아래는 오류입니다
\]_,/s/.*index.*=.*pr$/index = window_pr/' inputs.conf
sed: -e 표현식 #1, 문자 69: 종료되지 않은 주소 정규식
#!/bin/bash
sed -E -i '\_\[WinEventLog://(Application|Security|System|ForwardedEvents|Setup)
\]_,/s/.*index.*=.*np$/index = window_np/' inputs.conf
sed -E -i '\_\[WinEventLog://(Application|Security|System|ForwardedEvents|Setup)
\]_,/s/.*index.*=.*pr$/index = window_pr/' inputs.conf
[WinEventLog://Application]
checkpointInterval = 5
current_only = 0
disabled =0
start_from = oldest
index = CNDO_pr
[WinEventLog://Security]
checkpointInterval = 5
current_only = 0
disabled =0
start_from = oldest
index = CGWS_pr
[WinEventLog://System]
checkpointInterval = 5
current_only = 0
disabled =0
start_from = oldest
index = DMRW_pr
[WinEventLog://ForwardedEvents]
checkpointInterval = 5
current_only = 0
disabled =0
start_from = oldest
index = NENP_pr
[WinEventLog://Setup]
checkpointInterval = 5
current_only = 0
disabled =0
start_from = oldest
index = EOFK_pr
[WinEventLog://Application]
checkpointInterval = 5
current_only = 0
disabled =0
start_from = oldest
index = FDWD_np
[WinEventLog://Security]
checkpointInterval = 5
current_only = 0
disabled =0
start_from = oldest
index = ASKD_np
[WinEventLog://System]
checkpointInterval = 5
current_only = 0
disabled =0
start_from = oldest
index = JMSF_np
[WinEventLog://ForwardedEvents]
checkpointInterval = 5
current_only = 0
disabled =0
start_from = oldest
index = JCCD_np
[WinEventLog://Setup]
checkpointInterval = 5
current_only = 0
disabled =0
start_from = oldest
index = HSMS_np
답변1
오류 메시지를 고려하고 표현식 #1이 시작한다고 가정하면 \\_
표현식의 문자 69가 _
뒤에 오는 것으로 보입니다 ]
. 따라서 표현식에 적절한 종결자를 제공 \
하려면 접두사 가 필요하다고 생각합니다 ._