\\\\\\\\server\\\path1\\\\path2\\\\ with \\\\server\\path1\\path2\\
내 작업은 in의 여러 항목을 바꾸는 것입니다 myfile.txt
(추가 백슬래시 제거).
이를 달성하기 위해 sed를 사용해 보았지만 대체할 항목을 찾지 못했습니다.
sed 's:\\\\server\\path1\\path2\\:\\server\path1\path2\:g' myfile.txt
또한 백슬래시를 이스케이프 처리하려고 시도했지만 대체할 항목을 찾지 못했습니다.
sed 's:\\\\\\\\server\\\\path1\\\\path2\\\\:\\\\server\\path1\\path2\\:g' myfile.txt
어리석은 질문일지도 모르지만 정말 혼란 스럽습니다. 명령을 통해 이 작업을 수행하는 방법을 모든 곳에서 찾아보았지만 시도한 것은 아무것도 작동하지 않았습니다.
답변1
당신은 그것을 사용할 수 있습니다
sed -e 's,\\\\,\\,g' -e 's/^\\\([^\\]\)/\\\\\1/'
(두 번째 부분은 사용 사례에 따라 \something
원할 \\something
수도 있고 원하지 않을 수도 있습니다.)
그런 식으로:
\\something\already\ok stays ok (thanks to the 2nd part)
\\\\something\\like\\this becomes \\something\like\this
두 번째 부분이 생략된 경우,
\\something\like\that becomes \something\like\that , which is wrong