配列があり、h4 h5 h1 h2 h3
数字で並べ替えたいのですが、方法がわかりません。これを行う最良の方法は何ですか?
edit1:また、他の文字を含む数字で配列を並べ替えたいのです(例:)s4 h5 q1 h2 g3
。
ベストアンサー1
使用する必要はありませんtr
。 (サブシェルから)シェルの「引数拡張」でIFS
十分です。努力する
$ ARR=(h4 h5 h1 h2 h3)
$ SA=( $(IFS=$'\n'; echo "${ARR[*]}" | sort) )
$ BRR=(s4 h5 q1 h2 g3)
$ SB=( $(IFS=$'\n'; echo "${BRR[*]}" | sort -k1.2) )
$ echo "${SB[*]}"
q1 h2 g3 s4 h5