次のコマンドを実行すると:
$ cat picture.jpg > copy1.jpg
そして
$ cat -v picture.jpg > copy2.jpg
copy1.jpg
はい、完璧なレプリカpicture.jpg
ですが、copy2.jpg
はるかに大きいですpicture.jpg
。
copy2.jpg
これは、catが考える行の終わりが置き換えられ^M
、^M
各行の終わりのサイズが行の終わりよりも大きいためだと思います。これは正しいですか?
これにより、inインスタンスcat copy2.jpg
がないことがわかります。^M
copy2.jpg
ここで何が起こっているのでしょうか?>
出力が入力と異なる場合は、catを使用してファイルを完全にリンクできますか?
ベストアンサー1
それだけではありません^M
。 すべて印刷できない文字(現在のロケールで何を意味するか)を含むバイトはcat -v
。
接続ファイルを使用している場合は、cat
出力を変更するすべてのオプションを避ける必要があります。(数字行)、(マーカー行で終わる)、(繰り返し空白行を抑制する)、-b
(印刷可能なコンテンツを使用して印刷できない文字を表示)。-n
-E
$
-s
-v
-T