파일에서 "\r\n"을 "\n"으로 바꾸는 가장 빠르고 핵심적인 방법은 무엇일까요?

파일에서 "\r\n"을 "\n"으로 바꾸는 가장 빠르고 핵심적인 방법은 무엇일까요?

tr나는 이것이 보다 핵심적인 접근 방식이므로 주어진 파일의 콘텐츠를 대체하는 더 빠른 방법이라고 생각합니다 .

그러나 tr은 동일한 수의 문자만 대체할 수 있습니다. 중요성...

2개의 문자는 2개의 문자로만 대체될 수 있습니다. 즉, 대체

\r\n와는 \n불가능하다tr

차선책인가요 sed?

tr의 기능 부족을 고려할 때 sed가 파일에서 로 대체하는 \r\n가장 중심적이고 빠른 방법 입니까?\n

가능하다면 예시를 들어보고 싶습니다.

답변1

를 사용하면 sed다음을 수행할 수 있습니다.

sed 's/\r$//'

동일한 방법을 수행할 수 있습니다 tr. 다음을 제거하면 됩니다 \r.

tr -d '\r'

이렇게 하면 제거되지만모두의 인스턴스를 \r따를 필요는 없습니다 \n.

답변2

또는 사용dos2unix

예를 들어:

$ echo -ne "1\r\n2" |  od -A n -t x1
 31 0d 0a 32
$ echo -ne "1\r\n2" | dos2unix | od -A n -t x1
 31 0a 32

\r\n우리는 그것이 다음 으로 대체된 것을 볼 수 있습니다.\n

관련 정보