
이 질문그리고이 질문일반적으로 표준은 POSIX 표준을 충족하기 위해 개행 문자로 텍스트 파일을 끝내는 것이며 이는 GNU 도구 및 기타 POSIX 호환 도구에서 예상되는 것입니다.
그러나 C# 개발자로서 저는 csproj
일반적으로 파일 작업 도구에 종료 줄 바꿈 문자가 포함되어 있지 않다는 것을 알고 있습니다. 또한 json
및 파일 에서 끝나는 개행 문자를 제거하는 도구도 본 적이 있습니다 xml
. 파일을 사용하는 일반적인 도구가 결국 텍스트 파일을 다시 제거하게 된다면 텍스트 파일 끝에 줄바꿈을 포함하지 않는 것이 합리적이라고 생각합니다.
그렇다면 도구 때문에 개행 문자로 끝나서는 안 되는 텍스트 파일 유형에는 어떤 것이 있을까요?
답변1
정확히 텍스트 파일은 아니지만 심볼릭 링크는 사실상 텍스트 조각을 포함하는 작은 파일입니다(종종 inode 자체에 적합하므로 파일에 데이터 블록을 할당할 필요가 없습니다).
심볼릭 링크는 줄바꿈으로 끝날 수 있지만 가장 일반적인 상황에서는 그렇지 않습니다.
개행 문자로 끝나서는 안되는(물론 그럴 수 없는) 또 다른 유형의 파일은 빈 파일입니다.
UNIX에서 텍스트 파일은 비어 있거나 하나 이상의 빈 줄을 포함하며 각 줄은 개행 문자로 끝납니다. 마지막 줄이 개행 문자로 끝나지 않으면 해당 파일은 적절한 텍스트 파일이 아닙니다.
빈 파일에는 바이트가 전혀 포함되어 있지 않습니다. 개행을 추가하는 순간 "유형"이 비어 있음에서 비어 있지 않음으로 변경되었습니다.
답변2
에서 처리되는 검색어의 입력으로 사용되는 텍스트 파일은 grep -f
줄바꿈으로 끝나서는 안 됩니다.(** 텍스트 편집기에서)그렇지 않으면 모든 것과 일치할 것입니다.
이 예에서 직접 시도해 볼 수 있습니다
grep이 모든 유전자 인스턴스를 찾지 못함
편집하다:질문은 예제 수집에 관한 것입니다."도구 때문에 텍스트 파일은 개행 문자로 끝나서는 안 됩니다."나의 첫 번째 진술은 일반적으로 적용되지는 않지만 그러한 경우에 대한 완벽한 예입니다."텍스트 파일 유형"(텍스트 편집기 생성 파일) 따라서 질문의 맥락에서 유효합니다. 왜냐하면 그것이 텍스트 편집기를 사용할 때 모든 사람이 경험하는 것이기 때문입니다.
이는 파일 시스템 수준의 개행 문자에 관한 광범위한 설명을 의미하는 것이 아니라 \n
특정 사례의 예를 의미합니다.일반 사용자의관점
@Kusalananda @ilkkachu 실제로 두 개의 \n\n
개행 문자가 무엇인지 명확하게 설명해주셔서 감사합니다(하나는 텍스트 편집기에 의해 자동으로 추가되어 보이지 않지만).