sed를 사용하여 유닉스 쉘의 파일에서 슬래시를 제거하는 방법은 무엇입니까? [반복하다]

sed를 사용하여 유닉스 쉘의 파일에서 슬래시를 제거하는 방법은 무엇입니까? [반복하다]

다음 파일이 있습니다.

/
/FUSE
//
Bank S.A / N.V
/F

삭제하고 싶어요모두슬래시( /)를 사용하면 결과는 다음과 같습니다.


FUSE

Bank S.A  N.V
F

이를 수행하는 방법은 무엇입니까 sed? 를 사용해 보았지만 파일을 콘솔에 인쇄하지 않고 그 자리에서 편집하고 싶기 때문에 필요한 것은 아닙니다 tr.tr

답변1

다음을 위해 사용할 수 있습니다 tr:

$ tr -d '/' < file

FUSE

Bank S.A  N.V
F

출력을 저장하려면 새 파일로 리디렉션하면 됩니다.

tr -d '/' < file > file.fixed

답변2

/표현식과 다른 구분 기호를 사용하십시오 . sed예를 들면 다음과 같습니다 .:

sed 's:/::g' file

/온라인 어디에 있든 모든 것을 삭제하세요 .

기존 파일을 바꾸려면 "제자리에"를 의미하는 를 사용하세요. 그 뒤에는 이전 파일을 백업하는 확장자가 올 수 있습니다. 예를 들어 이렇게 하면 -i이름이 지정되고 수정된 이전 파일의 복사본이 유지됩니다.file.oldfile

sed -i.old 's:/::g' file

답변3

다음과 같이 sed를 사용할 수도 있습니다.

sed --in-place 's/\///g' file

당신이 해야 할 일은 sed패턴을 요청하는 것뿐입니다 / 빈 공간으로 대체되도록.

관련 정보