改行で終わらないようにすべきテキスト ファイルの種類にはどのようなものがありますか?

改行で終わらないようにすべきテキスト ファイルの種類にはどのようなものがありますか?

この質問そしてこの質問一般的に、POSIX 標準を満たすにはテキスト ファイルを改行文字で終了するのが標準であり、これは GNU ツールやその他の POSIX 準拠ツールでは期待されるものであることを指摘します。

しかし、C# 開発者として、ファイルを操作するツールにはcsproj通常、終了改行文字が含まれないことを知っています。また、ファイルから終了改行を削除するツールも見たことがありますjsonxmlファイルを操作する一般的なツールが改行を再び削除してしまうのであれば、テキスト ファイルの末尾に改行を含めないようにするのは理にかなっていると思います。

では、ツールの都合上、改行文字で終わらないようにすべきテキスト ファイルの種類にはどのようなものがあるでしょうか。

答え1

シンボリック リンクは、正確にはテキスト ファイルではありませんが、実質的にはテキストの一部を含む小さなファイルです (多くの場合、inode 自体に収まるため、ファイルにデータ ブロックを割り当てる必要はありません)。

シンボリック リンクは改行で終わることができますが、最も一般的な状況ではそうすべきではありません。

改行で終わってはいけない(いや、終わってはいけない)別の種類のファイルは空のファイルです。

UNIX では、テキスト ファイルは空であるか、または 1 つ以上の空行 (各行は改行で終了) を含みます。最後の行が改行で終了していない場合、そのファイルは適切なテキスト ファイルではありません。

空のファイルにはバイトがまったく含まれません。改行を追加した瞬間に、その「タイプ」が空から空でないものに変わります。

答え2

処理される検索語句の入力として使用されるテキストファイルは、grep -f改行で終わってはならない。(** テキストエディタ内)そうでなければすべてが一致する

この例を自分で試してみることができます
grep で gene のすべてのインスタンスが見つからない

スクリーンショット


編集:質問は例を集めることです。「ツールの都合上、テキスト ファイルは改行文字で終了してはいけません。」私の最初の発言は一般的には当てはまりませんが、それはそのような例の完璧な例です。「テキストファイルの種類」(テキスト エディターで作成されたファイル) であり、テキスト エディターを使用するときに誰もが経験することなので、質問のコンテキストでは有効です。

\nこれはファイルシステムレベルでの改行文字に関する大まかな説明ではなく、通常のユーザーの視点

実際には 2 つの\n\n改行文字であることを明確にしていただき、ありがとうございます @Kusalananda @ilkkachu (ただし、1 つはテキスト エディターによって暗黙的に追加されるため、見えません)

関連情報