CWM 업데이트집에 있는 updater-script 파일을 윈도우 메모장에서 수정하면 동작하지 않습니다.
Notepad++ 에서 수정해야 하지요.
어제 자동삭제 스크립트를 만들다가 동작하지 않길래 원인이 저거 문제일거 같아서 분석하다가 윈도우의 텍스트 파일과 리눅스 텍스트 파일의 차이점을 알았습니다.
스샷에서 잘 보시면 라인 끝줄 개행문자 (줄바꿈 문자)가 다른 것을 알 수 있습니다.
(NOTEPAD++ 에서 조판문자, 개행문자가 보이게 설정을 바꾸면 CR, LF 가 보여집니다.)
리눅스는 LF 만으로 줄바꿈을 하지만
윈도우는 CR+LF 로 줄바꿈을 하네요.
윈도우는 CR+LF 로 줄바꿈을 하네요.
애플은 CR 로 하는군요.
참고:
LF : UNIX and UNIX-Like systems, Linux, AIX, Xenix, Mac OS X, BeOS, Amiga, RISC OS…
CR+LF : CP/M, MP/M, DOS, OS/2, Microsoft Windows (all versions)
CR : Commodore machines, Apple II family and Mac OS through version 9
줄바꿈에서 기종마다 다른 포맷을 가지네요.
그럼 도스에서 생성한 리눅스에서 동작하려면 CR+LF 를 LF 로 바꾸면 되는거네요.
다시 말하면 CR 만 제거하면 된다는 말인데 ㅋ
이게 윈도우에서는 정확한 해결책을 찾기 어려워서 리눅스 바이너리 유틸을 끌어 왔습니다.
해볼 수 있는건 sed 혹은 tr 이용해서 CR+LF 를 LF 호 바꾸거나 간단하게 CR 를 삭제하거나 하는 방법이 있겠네요.
sed 는 문법에 맞게 도전했는데 해결이 안되네요. 이건 좀 더 찾아봐야 ㅠ.ㅠ
그래서 일단은 텍스트 라인을 읽고 파이프 명령으로 연결해서 tr.exe 가 r 문자를 공백이나 NULL로 바꿔주는 방법으로 해결을 해봤습니다.
type textfile.txt | tr "r" " " > converted.txt
첨부 파일 d2l.bat 와 tr.exe 가 함꼐 폴더에 있으면
tr.bat myfilname (배치파일 실행하면서 파일명을 파라미터로 주면 conv 붙은 파일이 변환되어 생성됩니다.)
** 사실 이 문제는 NOTEPAD++ 을 쓰고 있으니 도스 배치에서 뭔가 만들지 않으면 몰라도 되는 문제이기는 합니다만 왜 NOTEPAD++ 을 써야 하는지 기본적인 이해를 위해 적습니다.