파일에서 “\ r \ n”을 “\ n”으로 바꾸는 가장 빠르고 가장 핵심적인 방법은 무엇입니까? 문자는 2

나는 tr더 핵심적인 방법이므로 아마도 주어진 파일 내의 것들을 대체하는 더 빠른 방법 이라고 생각 합니다.

그러나 tr은 같은 양의 문자 만 대체 할 수 있습니다. 의미…

2 개의 문자는 2 개의 문자로만 교체 할 수 있습니다.

\r\n\n통해 의문의 여지가 없다tr

다음 가장 좋은 옵션 sed입니까?

교체에 가장 핵심 빠른 방법 나오지됩니다 \r\n\nTR의 능력의 부족 주어진 파일을?

가능한 경우 예를 원합니다.



답변

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

sed 's/\r$//'

함께 할 수있는 같은 방법으로 tr만 제거해야합니다 \r:

tr -d '\r'

이것은의 모든 인스턴스를 제거하지만 \r필요하지는 않습니다 \n.


답변

또는 사용 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