개행 문자를 nul로 바꾸기

개행 문자를 nul로 바꾸기

배쉬, OSX 매버릭스

txt 파일의 LF 문자(hex= )를 NUL(hex = )로 바꾸고 싶습니다 0A. 이 작업을 수행 하는 데 00사용할 수 있는 다른 것이 있나요 ? 나는 그것들을 대체하기 위해 bbedit를 사용해 왔지만 bash에서 빠르게 수행할 수 있는 작업을 원했습니다.greptr

답변1

예, 직업입니다 tr.

tr '\n' '\0' < file > file.new

또는 그 자리에서:

tr '\n' '\0' < file 1<> file

여기서 파일이 다시 작성됩니다. 이는 항상 읽은 만큼의 데이터를 쓰기 때문에 작동합니다(아직 읽지 않은 데이터를 덮어쓰지 않음). 프로세스가 중단 되면 tr다시 시작하여 작업을 완료할 수 있습니다.

대조적으로 perl -pi 's/\n/\0/', 파일의 모든 속성을 보존하고 하드 또는 심볼릭 링크를 깨지 않으며 디스크에 데이터를 복사할 필요가 없습니다(아래에서 일부 쓰기 중 복사가 진행되지 않는 한).

관련 정보