Shell インフラ プログラミング

Bash・Shellでループ処理で1行ずつテキストファイルを読み込む方法

投稿日:2018年5月7日 更新日:

こんにちは!シミダイ(@shimidai2100)です。

Bash・Shellで良く使う処理の1つに、「1行ずつテキストを読み込んで処理する」というものがあります。

Shellの書き方には大きく分けて2つあり、間違った書き方をするとリソースを消費したり処理に時間も掛かったりと、サーバに余計な負荷をかけてしまいます。

今回はShellで「1行ずつテキストを読み込んで処理する」ための正しいShellの書き方と間違った書き方の2つを紹介します。

なおサンプルとして読み込むテキストファイルを「sample.txt」としています。


正しい書き方:ループ処理で1行ずつテキストを読み込む

まずは正しい書き方を紹介します。↓のようにwhile文で1行ずつテキストファイルを読み込み処理を行いましょう。

while read line」が一番すっきり書け、処理も早いです。

また他の方法として↓も利用可能である。

間違った書き方:テキストファイル内をすべて展開してからループ処理

次は間違った書き方を紹介します。↓のようなfor文で書きますとテキストファイル内の全レコードを読み込んだ後に処理を行うので、

大きなファイルですとメモリ容量を多く使用したり、処理も遅くなったりします。

Bash・Shellはいろいろな書き方が出来てしまいますが、正しい書き方をしないとバッチ処理やサーバ性能に影響が出てしまうため注意しましょう。

スポンサードリンク

関連記事

-Shell, インフラ, プログラミング

Translate »

Copyright© shimidai2100 , 2018 All Rights Reserved.