Bashによるテキストファイルの読み込みと出力

テキストファイルには、改行でテキストが入力されており、条件に合致した時に、出力させる、というスクリプトを書きます。

テキストファイル(sample.txt)の中身は以下のようになっています。

num 1
num 2
num 3
num 4
num 5
num 6
num 7

bash(run.sh)のスクリプトは以下です。

#!/bin/bash

cnt=0;
filename="sample.txt"	# ファイル名を変数に入れる
cat $filename | while read line || [ -n "${line}" ]	
# catでファイルを表示。while readで1行ずつ読み込む。
# while readでは改行なしの場合、最終行が読み込まれないため、|| [ -n "${line}" ]を加える。
do
	cnt=$(($cnt + 1))	# whileループで変数を1ずつ増やす
	if [ $cnt -eq 5 ]; then	# -eqは等号。5行目のみを出力させる。
		echo $line
	fi
done

あとは、bash run.shで実行します。出力は以下です。

num 5