Hitachi

JP1 Version 11 JP1/Advanced Shell 


10.3.4 sortArray(配列のデータのソート)

形式

sortArray  [-d 要素番号] [-n] [-r]  配列名1  配列名2

機能

引数に指定された配列の値をソートします。値に含まれる文字の大文字と小文字は区別されます。

引数

-d 要素番号

指定した要素番号に対応する2次元配列の値をソートします。2次元配列のすべての要素の値をソートする場合は,要素番号に「@」を指定します。「@」を指定すると,2次元配列の1つ目の要素番号に対応する各配列内で要素の値をソートします。例えば,2×3の2次元配列arrayの場合,array[0][0]array[0][1]array[0][2]の間で要素の値をソートし,array[1][0]array[1][1]array[1][2]の間で要素の値をソートします。

このオプションを指定しない場合,配列を1次元配列と解釈してソートします。

-n

先頭の数値文字列を数値と解釈してソートします。

-r

降順にソートします。

このオプションを指定しない場合,昇順にソートします。

配列名1

ソート対象の配列名を指定します。

配列名2

ソートしたデータを格納する配列名を指定します。

標準出力への出力

なし

終了コード

終了コード

意味

0

正常終了

1以上

エラー終了

注意事項

使用例

set -A input Tokyo Yokohama Fukuoka Nagoya
sortArray input output
echo "${output[@]}"        # 「Fukuoka Nagoya Tokyo Yokohama」が出力される。

set -A input Tokyo Yokohama Fukuoka Nagoya
sortArray -r input output
echo "${output[@]}"        # 「Yokohama Tokyo Nagoya Fukuoka」が出力される。

set -A input -- -3 70 -50 8 100
sortArray -n input output
echo "${output[@]}"        # 「-50 -3 8 70 100」が出力される。

set -D input { Osaka Fukuoka Nagoya } { Tokyo Yokohama Chiba }
sortArray -d 1 input output
echo "${output[0][@]}"     # 「Osaka Fukuoka Nagoya」が出力される。
echo "${output[1][@]}"     # 「Chiba Tokyo Yokohama」が出力される。

set -D input { Osaka Fukuoka Nagoya } { Tokyo Yokohama Chiba }
sortArray -d @ input output
echo "${output[0][@]}"     # 「Fukuoka Nagoya Osaka」が出力される。
echo "${output[1][@]}"     # 「Chiba Tokyo Yokohama」が出力される。