개행 문자로 끝나서는 안되는 텍스트 파일 유형은 무엇입니까?

개행 문자로 끝나서는 안되는 텍스트 파일 유형은 무엇입니까?

이 문제그리고이 문제일반적인 표준은 GNU 도구 및 기타 POSIX 호환 도구에서 기대하는 POSIX 표준을 충족하기 위해 개행으로 텍스트 파일을 종료하는 것입니다.

그러나 C# 개발자로서 저는 csproj파일을 처리하는 도구에 줄 바꿈 종료가 포함되지 않는 경우가 많다는 것을 알고 있습니다. 또한 json및 파일에서 xml종료 줄 바꿈을 제거 할 수 있는 도구도 보았습니다 . 이러한 파일을 처리하는 일반적인 도구가 결국 해당 파일을 다시 삭제할 경우 텍스트 파일 끝에 줄바꿈을 포함하지 않는 것이 합리적이라고 생각합니다.

그렇다면 도구 때문에 개행 문자로 끝나서는 안되는 텍스트 파일 유형은 무엇입니까?

답변1

정확히 텍스트 파일은 아니지만 심볼릭 링크는 실제로 텍스트 조각을 포함하는 작은 파일입니다(보통 inode 자체에 맞으므로 파일에 데이터 블록을 할당할 필요가 없습니다).

기호 링크는 개행 문자로 끝날 수 있지만 가장 일반적인 경우에는 그렇지 않습니다.

개행 문자로 끝나서는 안되는(확실히 그럴 수 없는) 또 다른 유형의 파일은 빈 파일입니다.

UNIX에서 텍스트 파일은 비어 있거나 비어 있을 수 있는 하나 이상의 줄을 포함하며, 각 줄은 개행 문자로 끝납니다. 마지막 줄이 개행 문자로 끝나지 않으면 해당 파일은 올바른 텍스트 파일이 아닙니다.

빈 파일에는 바이트가 전혀 포함되어 있지 않습니다. 개행을 추가하는 순간 "유형"이 비어 있음에서 비어 있지 않음으로 변경됩니다.

답변2

에서 처리되는 검색어의 입력으로 사용되는 텍스트 파일은 grep -f개행 문자로 끝나서는 안 됩니다.(** 텍스트 편집기에서)그렇지 않으면 모든 것과 일치합니다

이 예제를 직접 시도해 볼 수 있습니다.
grep이 유전자의 모든 인스턴스를 찾지 못했습니다.

스크린샷


편집하다:예시 수집에 관한 질문이니 참고해주세요."도구 때문에 텍스트 파일은 개행 문자로 끝나서는 안 됩니다."나의 첫 번째 진술은 일반적인 경우에는 적용되지 않지만 완벽한 예입니다."텍스트 파일 형식"(텍스트 편집기로 생성된 파일)은 질문의 맥락에서 유효합니다. 이는 텍스트 편집기를 사용할 때 모든 사람이 경험하는 것이기 때문입니다.

이는 \n파일 시스템 수준의 줄 바꿈에 대한 광범위한 설명이 아니라 극단적인 경우의 예입니다.일반 사용자의 경우보다

@Kusalananda @ilkkachu에게 이것이 두 개의 \n\n줄 바꿈임을 명확히 해주셔서 감사합니다(그 중 하나는 텍스트 편집기에 의해 자동으로 추가되어 표시되지 않지만).

관련 정보