数字と文字配列のコンポーネントが互いに連続しているかどうかを数字に基づいて決定する方法は?

数字と文字配列のコンポーネントが互いに連続しているかどうかを数字に基づいて決定する方法は?

内容を持つ配列があります:、、、、、、${array[0]}="h4"そしてこの配列の数字(4、2、7、1、3)が互いに成功することを${array[1]}="q2"確認したいと思います。これを行う最良の方法は何ですか?${array[2]}="s7"${array[3]}="r1"${array[4]}="h3"

ベストアンサー1

次の最近の質問に対する回答を配布できます。

$ ARR=(h4 q2 s7 r1 h3)
$ SA=( $(IFS=$'\n'; echo "${ARR[*]}" | sort -k1.2n) )
$ [ "${ARR[*]}" == "${SA[*]}" ] && echo in seq || echo out of seq
out of seq

数字には、2 文字目から始まる複数桁の数字がn許可されます。sort

編集する:またはより短く、

( IFS=$'\n'; [ "${ARR[*]}" == "$(sort -k1.2n <<< "${ARR[*]}" )"  ] )  && echo in seq || echo out of seq

おすすめ記事