ファイル名の重さが何バイトかどうかはどうすればわかりますか?フルパスではないファイルのみ。私はこれを試しました:
echo 'filename.extension' | wc -c
これは正しいですか?
ベストアンサー1
よさそうですが、echoは基本的に末尾の改行を追加するので、echo -n
orも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}
変数の長さを直接提供します。