여기에 표시된대로 모든 “마침표 별표”항목을 바꿔야합니다.
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