542

変数に格納されている文字列の長さを取得し、それを別の変数に代入するにはどうすればよいですか?

myvar="some string"
echo ${#myvar}  
# 11

別の変数を出力に設定するにはどうすればよいです11か?

4

9 に答える 9

580

変数に格納されている文字列の長さを取得するには、次のように言います。

myvar="some string"
size=${#myvar} 

正しく保存されたことを確認するには、次のようにechoします。

$ echo "$size"
11
于 2013-06-28T15:15:57.657 に答える
26

以下を使用できます。

MYSTRING="abc123"
MYLENGTH=$(printf "%s" "$MYSTRING" | wc -c)
  • wc -cまたはwc --bytesバイトカウントの場合= Unicode文字は2、3、またはそれ以上のバイトでカウントされます。
  • wc -mまたはwc --chars文字カウントの場合 = Unicode 文字は、より多くのバイトを使用するまで 1 つとしてカウントされます。
于 2015-05-09T03:27:53.380 に答える
19

これをコマンド ラインまたは関数の引数で使用する場合は、size=${#1}代わりにsize=${#$1}. 2 番目のものはより本能的かもしれませんが、構文が正しくありません。

于 2014-06-05T20:11:33.087 に答える