鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

awkからperlへ移植(アナルいー)

Perlによるワンライナー Perlワンライナーのオプションの位置が重要

「アナルいー」と覚えればいいんだなぁ。aが2回でてくるので1回指定だけでいいので 以下のような感じ。

タブ区切りのテキストファイルからinsert文を作ってみました。

perl -F'\t' -anle 'BEGIN{print "insert into hoge (i,my,me,mine) values" } printf "%s(\x27%s\x27,\x27%s\x27,\x27%s\x27,\x27%s\x27)" ,$sep,$F[0],$F[1],$F[2],$F[3]; $sep=","; END{print ";"}'

一気に1万件もINSERTできなーいって、やめてって怒られてしまったかたは・・・

perl -F'\t' -anle 'BEGIN{ $index=0;$span=10;} if ($index % $span == 0 ) {$sep=""; printf "%sinsert into hoge (i, my, me, mine) VALUES ", ($index!=0)? ";\n" : ""} printf "%s(\x27%s\x27,\x27%s\x27,\x27%s\x27,\x27%s\x27)" ,$sep,$F[0],$F[1],$F[2],$F[3]; $sep=","; $index++; END{print ";"}'

アナルいーと唱えて、awkを卒業しましょう。