投げ銭

★当サイトへの投げ銭(PayPal)★

LINK


(無償、寄付歓迎) logo
世界中で使われるISO標準オフィスソフト(MSオフィス互換)

★LibreOfficeの導入事例★
詳細について

人気の投稿(1ヶ月間)

Ad

Ad

投げ銭

★当サイトへの投げ銭(PayPal)★

2019年2月6日水曜日

【Linux CentOS 7】bashの配列操作について

bashの配列操作

○配列に要素を加える方法

$ K=("vvv" "123" "456") ; K+=("abc") ; K+=("abc") ; echo ${K[@]}
vvv 123 456 abc abc
上記では、最初に配列Kを用意して、要素を三つ("vvv" "123" "456") 作成している。
この配列Kに要素("abc") を順に2回加えて、
最後に配列の要素を表示するという処理を行っている。

注意点は、配列というものは、""で括った要素をさらに小括弧()で括ったものだということである。

さもなければ、次のように配列の要素ではなくなってしまう。

$ K=("vvv" "123" "456") ; K+="abc" ; K+="abc" ; echo ${K[@]}
vvvabcabc 123 456


○配列の配列としての取り扱い方

せっかくの配列Kなのに、${K}として扱うと文字列になってしまった。

$ K=("vvv" "123" "456") ; K+="abc" ; K+="abc" ; echo ${K}
vvvabcabc

そして要素数は文字数になってしまった。

$ K=("vvv" "123" "456") ; K+="abc" ; K+="abc" ; echo ${#K}
9

次のように、[@]を変数名に付加すると配列として扱われる。

$ K=("vvv" "123" "456") ; K+="abc" ; K+="abc" ; echo ${#K[@]}
3


■ファイルに保存された要素を配列に格納して表示する手順

次のようなファイルがあるとする。

# cat test.txt
abc@abc
def@def
ghi@ghi

次の手順で、上記ファイルに保存された要素を配列に順に格納して、
最後に配列の内容を一覧表示させる。

# ArryADDR=() ; for ADDR in `cat test.txt` ; do ArryADDR+=("$ADDR") ; done ; echo ${ArryADDR[@]}
abc@abc def@def ghi@ghi



<参考>

・配列を使用する
< https://shellscript.sunone.me/array.html > 2019年2月6日

投げ銭

★当サイトへの投げ銭(PayPal)★

Ad

Ad