Linux
[centOS] CentOS 7 에서 여러 파일 동시에 개행처리 '\n' 으로 변경 (feat. vscode 개행 설정)
- 2023.02.23 00:46:46
윈도우, mac, 리눅스는 vscode 나 에디트플러스 같은 IDE 등에서 코드를 작성하는 경우 개행(줄바꿈) 처리 방식이 다르다. 눈에 보이지 않지만, 라인의 끝(EOL)에는 각 os마다의 개행 코드가 들어간다. 윈도우 = \r\n mac = \r 리눅스 = \n 만약, 하나의 파일에 대해 윈도우와 mac을 왔다갔다 하며 코딩을 진행 했다면 두가지의 개행처리가 혼재되는 경우 vscode 등에서 줄바꿈이 두번 되거나, 컴파일이 안되는 등 문제가 발생할 수 있다. (문제가 되는 파일을 리눅스에서 vi로 열어보면 라인 끝에 ^M 이 비정상적으로 붙는 것을 확인할 수 있다.) 때문에, os를 혼용하며 코딩을 하더라도 개행처리가 한가지로 통일 되도록 해야 하는데, 호환성을 위해 리눅스 (\n) 기준으로 모두 통일시켜 작업하는 것이 좋다. [!]개행처리 오류가 발생한 파일들을 일괄적으로 '\n' 으로 변환하기[/!] # find {폴더명} \( -name ".htaccess" -o -name "*.php" -o -name "*.html" -o -name "*.sql" -o -name "*.css" -o -name "*.js" -o -name "*.xml" -o -name "*.txt" -o -name "LEADME" -o -name "LICENSE" \) -type f -exec sed -i 's/\r//g' {} +
위 명령어를 리눅스에서 실행한다. 특정 폴더 내에서 .php / .html / .sql / .css / .js / .xml / .txt / LEADME / LICENSE 파일에 대해서 코드상의 개행을 '\n'으로 바꾼다. 쉽게 보면 윈도우 개행이 발견되면 '/r' 을 지워 리눅스 개행으로 바꾸는 것이다. [!]vscode의 개행처리를 '\n'으로 변경[/!] 다시는 개행처리가 뒤섞이는 일이 없도록 vscode의 개행처리 설정을 변경한다. (\n 으로 통일.) |