以下のような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 "
" | tr -d "
"`

      #コメント行や空行を読み飛ばす
      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版

  • 作者: Cameron Newham,Bill Rosenblatt,株式会社クイープ
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2005/10/27
  • メディア: 大型本
  • 購入: 7人 クリック: 138回
  • この商品を含むブログ (46件) を見る
bashクックブック

bashクックブック

  • 作者: Carl Albing,JP Vossen,Cameron Newham,株式会社クイープ
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2008/09/26
  • メディア: 大型本
  • 購入: 8人 クリック: 268回
  • この商品を含むブログ (31件) を見る