따라서 콜론으로 구분된 형식으로 구문 분석된 일부 데이터가 있습니다.
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