실제 질문은- M-BM-
다른 캐릭터를 잃을 위험없이 특수 캐릭터 를 제거하는 방법을 아는 사람이 있습니까?
텍스트 문자열이 있습니다.
" . . ."
그건
space dot space dot space dot
텍스트 파일 에서이 문자열의 모든 발생을 바꾸려고합니다.
"..."
그건
dot dot dot
나는 sed와 관련이있었습니다.
sed -r 's:\s\.\s\.\s\.:...:g' -i sed-dots
불행히도 입력 파일을 조금이라도 변경하지는 않습니다. 파일 : https://www.dropbox.com/s/46zmiruy3ln85a1/sed-dots
텍스트 편집기에서 동일한 문자열을 바꾸려고 할 때 (geany를 사용합니다) 올바르게 찾아서 바꿉니다.
내가 생각할 수있는 유일한 이유는 그 공백 중 일부 (또는 전부)가 실제로 공백이 아니라 특별한 성격이기 때문입니다.
누구든지 해당 문자열을 찾아서 sed (또는 다른 명령 줄 도구)로 바꾸는 방법을 알고 있습니까? 문제가 생각보다 명확하지 않기 때문에 내 파일에서 아이디어를 테스트하십시오. 이것이 내가 그것에 대해 묻는 이유입니다.
cat -A
myfile을 사용한 후에 는 해당 공백이 공백이 아니라 M-BM-
특수 문자 라는 문제가있는 것 같습니다 . .
다른 문자가 제거 될 위험이 있으므로 검색에 제안 된 기호를 사용하는 것은 좋지 않습니다.
echo
최소한 파일을 캐터링 할 때 셸이 아무 것도 해석하지 않고 에코도 아닌 것을 알고 파일을 캐터링하는 대신 사용 하는 것이 좋습니다 .