BusyBox端末で実行するシェル(sh)スクリプトを作成しています。このスクリプトは演算子を使用してシステムコマンドの出力をロギング用のファイルにリダイレクトします>>
。スクリプトが予想されるファイルサイズを正確に計算できるように、どのEOL(行末)文字が使用されているかを確認するにはどうすればよいですか。厳密なディスク使用要件があるため、私のアプリケーションでは予想されるファイルサイズが重要です。
(バイナリエディタでファイルを見ることができ、行末が何であるかを正確に見ることができることを知っていますが、私のスクリプトは移植可能である必要があります。したがって、EOL文字について十分な保証が必要です。)変更されていません - たとえば、OSの定義- またはキャプチャして計算できる必要があります。 )
答え1
あなたの質問によると、EOL文字が実際に何であるか気にしないようです。はい、正確にどのくらい多くのバイトまたは文字中断が必要です。
測定してみてはいかがでしょうか?
EOL_BYTES="$(echo | wc --bytes)"
または
EOL_CHARS="$(echo | wc --chars)"
スクリプトの上部でこれらのいずれかを実行し、その値を計算に使用します。