0
C#을 사용하여 Linux에서 작업을 자동화하는 셸 스크립트를 만듭니다. 내 파일 때문에 윈도우와 리눅스 (which a fixed suggested here for linux)에서 EOL 차이에 리눅스로 이동할 때C#으로 리눅스 셸 스크립트 파일 만들기 (dos2unix가 필요 없음)
List<string> batchFileLines = new List<string>();
batchFileLines.Add("shell command 1");
batchFileLines.Add("shell command 2");
System.IO.File.WriteAllLines(shellBatchFileName, batchFileLines.ToArray());
그러나, 쉘 파일 EOLs이 dos2unix
명령으로 수정해야 :이 작업을 수행하기 위해 , 나는 구조 아래 사용 . C#에서 파일을 조작하려면 어떻게해야합니까? dos2unix
을 실행할 필요가 없습니다.
최소한의 노력으로 새로운 라인을 리눅스 포맷으로 대체하는 방법은 무엇입니까? 출력 파일이 더 이상 dos2unix
을 필요로하지 않습니다
System.IO.File.WriteAllLines(shellBatchFileName, batchFileLines.ToArray());
System.IO.File.WriteAllText(shellBatchFileName, string.Join("\n", batchFileLines.ToArray()));
에
각 행의 끝에 아스키 10을 추가 할 수 있습니다. –
@ rory.ap DOS는 캐리지 리턴과 줄 바꿈 ("\ r \ n")을 줄 끝으로 사용합니다. Unix는 줄 바꿈 ("\ n")을 사용하기 때문에 '\ r'을 제거해야합니다. – VSB
[C#에서 유닉스 스타일의 텍스트 파일 쓰기] 가능한 복제본 (http://stackoverflow.com/questions/7841761/writing-unix-style-text-file-in-c-sharp) – Max