FC2ブログ

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

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

#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 文の使用方法

を参照するとわかりやすい
スポンサーサイト



テーマ : Linux
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック