ファイル名のバイト数の計算

ファイル名のバイト数の計算

ファイル名の重さが何バイトかどうかはどうすればわかりますか?フルパスではないファイルのみ。私はこれを試しました:

echo 'filename.extension' | wc -c

これは正しいですか?

ベストアンサー1

よさそうですが、echoは基本的に末尾の改行を追加するので、echo -norもprintf同様です。 /path/to/files/like/this/filename.extension を filename.extension に変換する場合:

filepath='/path/to/files/like/this/filename.extension'
namelength=$(printf "%s" "$(basename "${filepath}")" | wc -c)

欲しいなら特徴(または同様のもの)長さ、いいえバイト計算:
POSIX互換シェル(bashやzshなど)にはより簡単な方法があるので、おそらくそれらの1つを使用しているでしょう。

filename="${filepath##*/}"
namelength=${#filename}

拡張は${#varname}変数の長さを直接提供します。

おすすめ記事