感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

bash 読み込んだファイルのコメントや空行を読み飛ばす方法

<スポンサーリンク>

以下のようなCSVファイルの、コメントや空行を読み飛ばしてみたい。

##hospital list
takashi,28,doctor
yuka,27,narse

##company list
yuji,30,mitsubishi
nao,24,google

これを1行ずつ読み込んでいって、空行やコメント行だけ取り除いて表示してみる。

#!/bin/sh

readonly READ_FILE="test.csv"

function read_csvfile() {
   local file_name=$1

   while read LINE
   do
      #空行を飛ばす
      local result=`echo ${LINE} | tr -d "\r" | tr -d "\n"`

      #コメント行や空行を読み飛ばす
      if [ `echo ${result} | egrep "^#" | wc -l` -gt 0 ] || [ "${result}" == "" ]; then
          continue
      fi
      echo ${result}
   done < ${file_name}
}

read_csvfile ${READ_FILE}

これを実行すると、結果は以下のように表示される。

takashi,28,doctor
yuka,27,narse
yuji,30,mitsubishi
nao,24,google

結果、空行を読み飛ばすことができた。

入門bash 第3版

入門bash 第3版

bashクックブック

bashクックブック