を使用してファイルを解析しましたcat
。今度は結果を配列に保存したいと思います。
var1=$(cat abc.txt | grep .........)
var1は次のようになります
33 23 51 11 16 43 5 50 4 2 12 29 32 28 47 41 7 20 38 45 49 26 22 10 44 9 19 27 46
1.各値を配列変数として保存したいのですが、これを行うと 'のすべての結果がcat
インデックス0に格納されます。var1
各値を異なるインデックスとしてどのように保存できますか?
ベストアンサー1
Bashには、readarray
配列に値を格納する組み込み関数があります。
readarray arr < <(grep "pattern" abc.txt)
これにより、arr
コマンドによって指定された値で呼び出される配列が生成されますgrep "pattern" abc.txt
(複数行に表示されると、readarray
配列に追加されます)。
echo ${arr[0]}
33
$ echo ${arr[10]}
12
$ echo ${arr[*]}
33 23 51 11 16 43 5 50 4 2 12 29 32 28 47 41 7 20 38 45 49 26 22 10 44 9 19 27 46
注:grepもファイルを読み取ることができるので、cat file | grep ...
減らして使用できますgrep ... file
。