シェルスクリプトでファイルからデータ入力

シェルスクリプトでファイルからデータ入力
#17 ファイルから入力してみよう
http://dotinstall.com/lessons/basic_shellscript/10617
を参考に
ファイルからのデータ入力処理について学習
ユーザ入力でデータ入力するには
read を使う
ファイルから1行ずつ読み込んで実行するには
まず、
vim data.txt
でファイルを作成
内容は適当に
a
aaa
aaaaa
として保存
これを読み込んで表示するスクリプトを作成
vim filerun.sh
として
#!/bin/bash
i=1
while read line
do
echo “$i: $line”
i=`expr $i + 1`
done <$1 として保存し、実行する $1 は引数1という意味なので ./filerun.sh data.txt というように、読み込むファイルを指定する すると 1: a 2: aaa 3: aaaaa という結果になる 処理についてちょっと復習メモ echo "$i: $line" は、 $i=行数:$line=ファイルの内容 というようになる i=`expr $i + 1` これは行数の足し算 `` はバッククオートなので shift + @ なので シングルクオート shift +7 と間違えないように注意 expr は計算するコマンド while ループのなかで $i +1 なので ファイルが読み込み終わるまで足されていく while read line のところは 構文にすると while read 変数 do 行う処理 done < 読み込むファイル となる 変数なので while read thisfile とかみたいに line じゃなくてもOK あと、読み込むファイルは 今回は $1 としているけど done < data.txt としてしまえば、ファイルを直接読み込ませることもできる これについては while 文の使用方法
を参照するとわかりやすい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です