텍스트 파일의 문자 교체에 관한 질문

텍스트 파일의 문자 교체에 관한 질문

따라서 콜론으로 구분된 형식으로 구문 분석된 일부 데이터가 있습니다.

username:[email protected]:password:salt

때로는 사용자 이름/salt에 콜론(:)이 포함될 수 있습니다. 구분 기호를 다른 문자로 바꾸고 싶으므로 데이터는 다음과 같습니다.

username', '[email protected]', 'password', 'salt

나는 다음 명령을 사용하고 있습니다 :

sed "s/:/'/" filename.txt > newfile.txt

하지만 사용자 이름/소금 필드에서 콜론을 건너뛰는 방법이 생각나지 않습니다. 어떤 아이디어가 있나요?

답변1

문서 내용:

사용자 이름:[이메일 보호됨]:비밀번호:소금
사용자 이름:[이메일 보호됨]:비밀번호:소금
사용자 이름:[이메일 보호됨]:비밀번호:sa:lt
사용자 이름:[이메일 보호됨]:비밀번호:sa:lt

GNU sed 사용:

sed -E "s/(.*):([^:]*@[^:]*):([^:]*):(.*)/\1', '\2', '\3', '\4/" file

산출:

사용자 이름', '[이메일 보호됨]', '비밀번호', '소금
사용자 이름', '[이메일 보호됨]', '비밀번호', '소금
사용자 이름', '[이메일 보호됨]', '비밀번호', 'sa:lt
사용자 이름', '[이메일 보호됨]', '비밀번호', 'sa:lt

관련 정보