配列を使用して次の行をどのように書くことができますか?
val1=$(grep 'Thread' Threadout.txt | awk -F"/" '{print $1}')
val2=$(grep 'Thread' Threadout.txt | awk -F"/" '{print $2}')
val3=$(grep 'Thread' Threadout.txt | awk -F"/" '{print $3}')
val4=$(grep 'Thread' Threadout.txt | awk -F"/" '{print $4}')
Threadout.txtには「スレッド1/1/25/100」が含まれています。
答え1
次のコマンドを使用して配列を作成しますreadarray
。
readarray -t val < <(grep -o '[0-9]*' Threadout.txt)
その後、配列を使用できますval
。
for v in "${val[@]}"; do
echo "$v"
done
または
for k in "${!val[@]}"; do
echo "${val[$k]}"
done
出力:
1
1
25
100