LinuxとWindowsに同じASCIIテキストファイルがあるとしましょう。
one
two
three
これら2つのファイルには、両方のオペレーティングシステムにそれぞれ\n
およびEOL文字があります。\r\n
これはLinuxでファイルが小さいことを意味しますか?
このテストはLinuxで行われ、肯定的なようです。
$ echo -en 'one\ntwo\nthree\n' | wc --bytes
14
$ echo -en 'one\r\ntwo\r\nthree\r\n' | wc --bytes
17
ベストアンサー1
厳密に言えば制限的ですが、テストは正確です。 Linuxでは、コマンドで生成された文字列がecho
それぞれ14バイトと17バイトを占めることを示しています(wc --bytes
.\n
と で\r
それぞれ1バイトを占めるため、LinuxではDOS / Windowsスタイルの改行文字を使用するとき)。 、改行ごとに1バイトが失われます。
厳密に言えば、保存要件はファイルの作成に使用するプログラムによって異なります。 LinuxやWindowsはファイルの内容に何も課しません。 CRLF改行文字を含むファイルはLinuxに保存でき、LF改行文字を含むファイルはWindowsに保存できます。両方のオペレーティングシステムのいずれかでファイルの保存要件を決定するには、使用するツールを使用して両方のオペレーティングシステムにファイルを作成し、オペレーティングシステムツールを使用してファイルサイズを測定する必要があります。
ファイルは通常、特定のストレージ単位の倍数を使用して保存されるため、改行に関連する変更は実際の影響を与えない可能性があります。