웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > linux

MongoDB 리눅스 환경에서 dump 사용시 생성되는 폴더 몇 파일명 뒤에 \r 표시 삭제하는 방법

Last Modified : 2023-10-20 / Created : 2023-10-14
381
View Count
MongoDB 데이터베이스를 사용하다가 백업을 위해 mongodump 명령어를 사용하였습니다. 그런데 경로나 파일명 뒤에 띄어쓰기 표시인 \r이 자동으로 추가된 것을 확인 할 수 있었습니다. 문제는 윈도우에서는 띄어쓰기가 다르게 표현되는 것도 문제이고 가장 큰 문제는 git 형상관리시 두 개의 경로가 아래처럼 같이 표기되는 것이 문제였죠.

@ 동일한 경로이나 불필요하게 두 개가 생성된 모습

myDumpPath
myDumpParh\n


이제 myDumpPath 하나만 사용될 수 있도록 해결하는 방법을 알아봅니다.




리눅스 경로 및 파일명 뒤의 \r 삭제하기


이를 해결하기 위해서 아래와 같이 몇 가지 해결방법들이 존재합니다. 하나씩 알아봅니다.


1. tr 명령어 사용하기


MongoDB 데이터베이스를 덤프하는 명령어 뒤에 tr 명령어를 같이 사용하는 방법입니다. 이 경우 생성되는 파일 또는 경로명 뒤의 \r 등을 제거해서 실행해주게됩니다. 제 경우 이 방법으로 해결하였습니다.
mongodump [your-options-here] | tr -d '\r'


2. sed 명령어 사용하기


이 방법역시 위와 비슷하게 동작하며 \r을 제거해줍니다.
mongodump [your-options-here] | sed 's/\r//g'


3. dos2unix 사용하기


이런 이슈를 해결하기 위한 방법으로 `dos2unix`와 같은 라이브러리를 사용할 수도 있습니다. 이 라이브러리를 설치 후 사용하면 linux 방식의 변경하여 해당 이슈가 사라지게 됩니다. 설치 후 해당 명령어를 실행하면 됩니다.
sudo apt-get install dos2unix;

dos2unix myFilename

이 방법도 매우 편리합니다.  실행하면 위의 방법들과 마찬가지로 myFilename 뒤에 붙은 \r 표기를 쉽게 제거할 수 있습니다.


여기까지 mongodump 명령어 사용시 파일 뒤에 붙은 \r를 제거하는 방법에 대하여 알아봤습니다.


마치면서


위와 같은 문제가 발생하는 이유는 무엇일까요? 만약 운영체제가 달라지는 경우... 예를들어 윈도우와 리눅스 계열에서 같이 사용하는 경우 리눅스에서는 윈도우처럼 \r\n 방식으로 마지막 줄 표기를 사용하지 않기 때문에 비슷한 이슈가 발생할 수 있게됩니다.

Previous

Ubuntu 22 와이드 모니터 해상도 사용 불가 이슈 수정

Previous

우분투에서 많이 사용되고 있기있는 단축키는 무엇이 있을까?