変数は自動的に割り当てられます。

変数は自動的に割り当てられます。

を使用すると、dspmq | awk -F '[()]' '{print $2}'複数行の出力を取得できます。ですから、出力の最初の行をとして処理し、vairable12番目の出力行をvariable2等として処理したいと思います。
どうすればいいですか?

ベストアンサー1

変数を参照すると仮定すると、awk配列を使用する方が合理的です。良い:

dspmq | awk -F '[()]' '
  {variable[NR] = $2}
  END {
    print "first line: "variable[1]", third line: "variable[3]
  }'

意味するならシェル変数を使用すると、次のようにできます。

eval "$(dspmq | awk -F '[()]' -v q="'" '
  function shquote(s) {
    gsub(q, q "\\" q q, s)
    return q s q
  }

  {print "variable"NR"="shquote($2)}'
)"

シェルを使用している場合は、bash埋め込み可能な配列を使用できます。

readarray -t variable < <(dspmq | awk -F '[()]' '{print $2}')

bashksh複製されたデザインと同様)の配列インデックスは、${variable[0]}1(最初の行)ではなく0から始まります。

そしてzsh

variable=("${(f@)$(dspmq | awk -F '[()]' '{print $2}')}")

(最初の行$variable[1]

おすすめ記事