TexPad가 만들고 있습니다. 나는 그것이 데드 키 아래에 있다는 것을 알고 있습니다. 나는 그것이 이름이라는 것을 기억할 수 없다.
파란색 문자 :
문서에서 대량으로 제거하고 싶습니다.
어떻게 입력 할 수 있습니까?
TexPad가 만들고 있습니다. 나는 그것이 데드 키 아래에 있다는 것을 알고 있습니다. 나는 그것이 이름이라는 것을 기억할 수 없다.
파란색 문자 :
문서에서 대량으로 제거하고 싶습니다.
어떻게 입력 할 수 있습니까?
답변:
캐리지 리턴이라고합니다.
당신이 사용하는 경우 vim
당신은 삽입 모드와 유형을 입력 할 수 있습니다 CTRL- v CTRL- m. 즉, ^ M은 할 수있는 키보드와 동일 연구를 \ .
0x0D
16 진 편집기에 삽입 하면 작업이 수행됩니다.
제거하는 방법?
명령을 사용하여 제거 할 수 있습니다 perl -p -i -e "s/\r//g" filename
.
OP 가이 답변의 의견에서 제안했듯이 여기 에서도 시도해 dos2unix filename
볼 수 있습니다.
주석에서 @steeldriver가 제안한 것처럼 vim 편집기를 연 후 esc키를 누르고을 입력하십시오 :set ff=unix
.
참고 문헌
https://stackoverflow.com/questions/1585449/insert-the-carriage-return-character-in-vim
:set ff=unix
도 언급 할 가치가 있습니다.
암호
sed -i 's/^M//' filename.txt
^M
명령을 입력하는 동안을 사용하지 마십시오 shift+6 & M
. 을 사용해야합니다 ctrl+v+m
.
sed로도 할 수 있습니다
sed -i "s/\r//g" filename
Ramesh가 지적했듯이 CTRL+ V CTRL+ M는 리터럴 문자를 가져와야합니다.이 작업에만 국한되지는 않지만 vim
모든 표준 모드 tty에서 동일한 작업을 수행 할 수 있어야합니다.
cat ./file | tr -d '\r' >./file
... 일을 할 수도 있습니다.
|pipe
파일을 읽었습니다 . 사실, 중간 tmp 파일은 더 강력하지만 파이프의 버퍼는 충분해야합니다. 여전히 tr -d '\r' <<FILE >./file\n$(cat ./file)\nFILE\n
파일이 없으면 파일이 \000
문자를 포함하지 않는 한 확실 합니다.
./file
있기 전에 지우는 것보다 더 많이 할 cat
것입니다. 파이프 라인의 모든 명령이 병렬로 시작되고 영향을받는 명령이 실행 되기 전에 셸에서 리디렉션이 처리됩니다 .
$(cat)
수정 : 또는 (중요한) 후행 빈 행 또는 종료되지 않은 마지막 행 또는 사용 가능한 메모리에 맞는 것보다 많은 데이터입니다. (rm file; tr -d '\r' >file) <file
파일을 다시 작성해도 문제가 해결되지 않습니다 (소유자 / 그룹 / permbits / ACL / context / etc)