なえ箱

メモを植えます

ファイルの中身を1行ずつ配列に入れる

この記事をシェアする

シェルスクリプトを使い始めてみたのでメモ書きついでに。

もっといい書き方とかあったら教えてください。

ファイルの中身を1行ずつ配列に入れて、x番目の要素を取り出せないかなーと思ったのでやってみた。

こんな感じのテキストファイルがあったら

hoge
ho
ge
fuga
fu
ga

IFSの区切り文字を改行だけに設定して、 file.txtの中身を配列fileに入れる。

あとは${file[x]}xに取りたいところの数字を入れれば要素が取れた。

IFS=$'\n';
file=(`cat file.txt`)
echo ${file[3]}
#↑3番目要素が表示される(fuga)

forで行ごとに処理できる。たまたま見つけたのがこれだったけどwhile readでもいけるみたい。

IFS=$'\n';
for line in `cat file.txt`
do
    echo $line
done