Bash で文字列の長さを取得する

Numan Shafi 2023年6月20日
  1. 文字列の長さと基本表記
  2. # 演算子を使用して Bash で文字列の長さを計算する
  3. expr コマンドを使用して Bash で文字列の長さを計算する
  4. awk コマンドを使用して Bash で文字列の長さを計算する
  5. wc コマンドを使用して Bash で文字列の長さを計算する
  6. ファイルの文字長を計算する
Bash で文字列の長さを取得する

プログラミング言語では、データ型の長さやサイズが重要な役割を果たします。 リストのトラバーサルに役立ち、有用な情報の抽出を容易にします。

文字列全体をトラバースする必要があるタスクを実行するには、長さが特に重要です。 したがって、データ型の長さまたはサイズの重要性を考慮して、文字列の長さを計算するさまざまな方法を学習します。

文字列の長さと基本表記

文字列は異なる char のシーケンスであり、スペースを含む場合があります。 Bash では、文字列の長さはその文字列の合計文字数です。

たとえば、"Hello World" 文字列には、10 個の char と 1つのスペースが含まれています。 したがって、その長さは 11 です。

ほとんどのスクリプトおよびプログラミング言語には、文字列の長さを検出するための組み込み関数またはライブラリ関数があります。 同様に、Bash コマンドを操作して Bash で文字列の長さを計算する方法は多数あります。

# 演算子を使用して Bash で文字列の長さを計算する

# 演算子を使用して、文字列の長さを計算できます。 次のコードは、# 演算子を使用して文字列の長さを取得する構文を示しています。

${#your_var}

まず、文字列を含む変数を中括弧で囲み、# 演算子の前に変数を置きました。

# 演算子は、文字列の長さを出力する際に重要な役割を果たします。 # が使用されていない場合、コードは文字列全体を出力するため、変数に追加することが不可欠です。

さらに、外側の $ 記号は文字列の長さを変数として扱い、echo コマンドを使用して画面に表示します。 次のコードは、# を使用した文字列の長さの計算を示しています。

var="hello world"
echo ${var}
echo ${#var}

ハッシュを使用した文字列の長さ

1 行目で、var という名前の変数を作成します。 var 変数には、端末またはファイル文字列からの任意の文字列を含めることができます。

2 行目は、$ と中かっこを使用して文字列全体を出力します。 最後の行では、変数とともに # 記号を使用し、コマンド コンソールに表示される文字列の長さを取得しました。

expr コマンドを使用して Bash で文字列の長さを計算する

ここでは、expr コマンドを使用して文字列の長さを計算する方法について説明します。 次のコードは、expr コマンドを使用するための基本的な構文を示しています。

`expr "$var1" : "$var2"`

expr コマンドは、比較演算子 : の前後に 2つのパラメーターを取ります。 比較演算子は、共通の文字について 2つの文字列を比較し、類似した chars の数を返します。

var1 では、長さを計算する必要がある文字列を指定します。 var2 には文字列を 1つずつ解析する正規表現が含まれており、比較演算子は同様の各 char の数を計算できます。

次のコードは例を示しています。

var="hello world"
echo `expr "$var" : ".*"`

exp を使用した長さ

上記のコードでは、文字列 "hello world" を変数 var に代入しました。 .* は、前のトークン (つまり、var の値) のすべての文字を解析します。

したがって、2つの同じオペランドがある場合、比較演算子は最初のオペランドで chars の合計数を返します。

awk コマンドを使用して Bash で文字列の長さを計算する

awk コマンドを使用して文字列の長さを計算してみましょう。 awk コマンドは、データ操作とレポート生成に使用されるスクリプト言語です。

次のコードは、awk コマンドを使用した文字列の長さの計算を示しています。

var="hello world"
n1=`echo $var |awk '{print length}'`
echo $n1

上記のコードでは、awkprint コマンドの組み込み属性を使用しています。

awk コマンドは、パイプを使用して var 変数から文字列の入力を取得します。 パイプは、コマンド出力をパイプの後の入力に送信します。

行 #3 は、確認として文字列の長さを出力します。

wc コマンドを使用して Bash で文字列の長さを計算する

次に、wc コマンドを使用して文字列の長さを計算します。 -c または -m フラグを付けたパイプを使用して文字列を wc に渡すだけで、必要な出力 (つまり、文字列の長さ) が得られます。

次の Bash コマンドは、wc コマンドを使用して文字列の長さを表示します。

echo -n "$var" | wc -c

または:

echo -n "$var" | wc -m

上記のコードは、wc コマンドの 2つの異なるフラグを使用した文字列の長さの計算を示しています。

wc コマンドのみを使用すると、文字列の長さよりも多くの情報が得られますが、これは必要ありません。 そのため、wc コマンドの後にフラグを指定することは避けられません。

-c または -m の両方のフラグを使用できます。 どちらも同じ出力を返します。

次のスニペットは、上記の wc コードの出力を示しています。

wc を使用した長さ

ファイルの文字長を計算する

次に、ファイルから文字列の長さを計算する方法について説明します。 abc.txt という名前のファイルを作成し、テキストを書き込みます。

次に、ファイルから文字列の長さを読み取って出力します。

次のコードは、ファイルからの文字列の長さの計算を示しています。

touch abc.txt
echo "hello world">> abc.txt
cat abc.txt | wc -c

touch は新しいファイル abc.txt を作成し、単純な I/O リダイレクションを使用して hello world 文字列を書き込みます。 3 行目の cat コマンドは、abc.txt の内容を表示します。

ただし、パイプ | cat コマンドの出力を wc コマンドに入力します。 したがって、wc はこの出力の単語をカウントします。

関連記事 - Bash String