여기에 표시된대로 모든 “마침표 별표”항목을 바꿔야합니다.
blah blah .*:.*:.* blah blah
with :
[0-9][0-9]:[0-9][0-9]:[0-9][0-9]
최종 결과는 다음과 같습니다.
blah blah [0-9][0-9]:[0-9][0-9]:[0-9][0-9] blah blah
다음의 다른 변형을 시도했지만 작동하지 않았습니다.
%s_ .*:.*:.* _ [0-9][0-9]:[0-9][0-9]:[0-9][0-9] _g
답변
마침표 별표가 콜론으로 구분되어 세 번 반복되는 행의 예를 제공했습니다. 데이터가 항상 이와 같이 표시되는 경우 AlexP의 답변 . 그러나 귀하의 질문에 말하고 “마침표 별표”의 모든 항목을 대체해야합니다. 해당 문 의 문제가 정확합니다.
:%s/\.\*/[0-9][0-9]/g
3 개 그룹으로 표시되지 않는 경우에도 마침표 별표를 찾아서 대체합니다.
p>
답변
Vim :
sed
: sed -e "s/\.\*:\.\*:\.\*/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]/g"
.
-
%
는 모든 행에 대체 적용을 의미합니다. 기본적으로 명령이 모든 행에 적용되는sed
에서는 필요하지 않습니다. -
\.
는 마침표입니다. 베어.
는 모든 문자를 의미합니다. -
\*
는 별표입니다. 베어*
는 0 개 이상의 선행 원자를 의미합니다.
Answer
Vim에서 패턴에 nomagic
수정 자 사용 :
:%s/\M.*/[0-9][0-9]/g
\M
는 패턴에서 .
및 *
의 특수성을 제거합니다.
참조 Vim의 :help magic