シェルでCSVファイルからSQLファイルを作ってみる。

きっとperlのほうが早いと思うんだけどさ・・・

#!/usr/bin/sh

FILE_NAME="$1"
DIST_FILE="$2"

if [ ! -e ${FILE_NAME} ];
then
 echo "not exist file"
 exit 0
fi

rm -f ${DIST_FILE}

if [ ! -e ${DIST_FILE} ];
then
 touch $DIST_FILE
fi

while read staffNo
do

HOGE=`echo ${staffNo} | sed -e "s/[^0-9]//g"`
if [ "$HOGE" != "" ] ;
then
echo "INSERT INTO hogheohige values ($HOGE);" >> ${DIST_FILE}
fi

done < ${FILE_NAME}

exit 0

当然のごとくperlのほうが早かった…

#!/usr/bin/perl

open READ_FILE,"hoge.csv" or die "cant open file $!";
open WRITE_FILE, "> gege.sql" or die "cant open write file $!";

while(<READ_FILE>){
 if(s/\D//g){
   print WRITE_FILE "$_ \n";
 }
}

close READ_FILE;
close WRITE_FILE;