ウェブサイト検索

シェルスクリプトで配列の長さを見つける方法


シェルスクリプトは、すべてのLinuxまたはUnix管理者が持つべき重要なスキルです。データを操作し処理する能力は、Linux/Unix管理者の重要なタスクの一つです。配列の長さを見つけることは、シェルスクリプトでよくある操作です。配列の要素の総数が配列の長さを決定します。この記事では、配列の長さを決定するためのさまざまなシェルスクリプト技術を見ていきます。

シェルスクリプトで配列の長さを見つける方法

シェルで配列の長さを見つけることは、要素をループ処理してそれに対して操作を行うのに便利です。また、スクリプトを進める前に配列に特定の数の要素があるかを確認するためにも使用できます。以下はそれを行ういくつかの方法です:

  • 組み込みパラメーターの使用
  • exprコマンドの使用
  • forループを使用する

方法1: ビルトインパラメータを使用する

配列の長さを見つける最も簡単な方法は、シェルのビルトインパラメータ ${#array[@]} または ${#array[*]} を使うことです。@ と * の記号は、配列のすべての要素を参照するために使用されます。

#!/bin/bash

my_array=(Red Blue Pink)

echo "The length of the array is ${#my_array[@]}"

こちらが、配列の長さを取得するために組み込みパラメータを使用するシェルスクリプトの出力です:

方法2: exprコマンドの使用

exprコマンドは式を評価し、結果を標準出力に印刷するために使用されます。wc -wコマンドを使用して配列内の要素の数を数え、その結果をexprコマンドに渡して配列の長さを得ることができます。

#!/bin/bash

my_array=(Red Blue Pink)

length=$(echo ${my_array[@]} | wc -w)

echo "The length of the array is $(expr $length)"

こちらは、配列の長さを取得するために expr を使ったシェルスクリプトの出力です:

方法3: for ループの使用

配列の長さはforループを使っても求めることができます。この方法では、配列の各要素を繰り返し処理し、要素の数を数えます。

#!/bin/bash

my_array=(Red Blue Pink)

length=0

for i in "${my_array[@]}"

do

length=$((length+1))

done

echo "The length of the array is $length"

結論

この記事では、シェルスクリプトで配列の長さを求める異なる方法を探求しました。シェルの組み込みパラメータ ${#array[@]}、exprコマンド、forループを使用して配列の長さを求めました。この3つの方法はどれも同じくらい効果的で、適切な方法を選ぶのはユーザーの好みや要件に依存します。