
sed를 사용하여 패턴 일치를 사용하는 방법을 이해하는 데 어려움을 겪고 있습니다.
dd.mm.yyyy
큰 파일 내에서 다음 날짜 형식을 에서 로 바꾸고 싶으 dd/mm/yyyy
므로 기본적으로 점을 슬래시로 바꿉니다. 파일에는 명시된 형식의 날짜가 여러 번 포함되어 있지만 문장 끝 등의 마침표를 변경해서는 안 됩니다.
sed 's/\./\//g' <file_name>
작업을 수행하지만 (.)마다 변경되므로 패턴 일치를 수행하는 방법이 필요합니다.
어떤 도움이라도 주시면 감사하겠습니다.
감사해요
답변1
이 작업을 수행합니다.
sed 's/\([0-9][0-9]\)\.\([0-9][0-9]\)\.\([0-9]\{4\}\)/\1\/\2\/\3/g' file
설명:
s/ # substitute
\([0-9][0-9]\) # group 1, 2 digits
\. # a dot
\([0-9][0-9]\) # group 2, 2 digits
\. # a dot
\([0-9]\{4\}\) # group 3, 4 digits
/
\1 # content of group 1
\/ # a slash
\2 # content of group 2
\/ # a slash
\3 # content of group 3
/g # global flag