テストデータを格納したテキストから SQL の INSERT 文を作るため、
一行スクリプトを書いた。しかし、意図した動作をしてくれない。
シェルが -e の中身を渡すときのデリミタとしてシングルクオートを使っているため、
うまくパースされないのであろう。
というか、うまくパースされて無かったことにされているのだと思う。
2ch.net の Perlについての質問箱 5箱目 に聞いてみたが、結局自分で解答を見つけた。
http://pc2.2ch.net/test/read.cgi/tech/1053053082/149-160
$ perl -n -l -e 'printf("INSERT INTO uniq_uri (uri) VALUES (\x27%s\x27);\n", $_);' 5digit.txt
一行スクリプトを書いた。しかし、意図した動作をしてくれない。
$ perl -n -l -e 'printf("INSERT INTO uniq_uri (uri) VALUES ('%s');\n", $_);' 5digit.txtとやってもシングルクオートが出力されない。
シェルが -e の中身を渡すときのデリミタとしてシングルクオートを使っているため、
うまくパースされないのであろう。
というか、うまくパースされて無かったことにされているのだと思う。
2ch.net の Perlについての質問箱 5箱目 に聞いてみたが、結局自分で解答を見つけた。
http://pc2.2ch.net/test/read.cgi/tech/1053053082/149-160
- 解答
アスキーコードでシングルクオートを指定してやればいい。コードの見通しが悪くなるけど。$ perl -n -l -e 'printf("INSERT INTO uniq_uri (uri) VALUES (\x27%s\x27);\n", $_);' 5digit.txt
以上の内容はhttp://sonic64.com//2003-05-27.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます
モバイルやる夫Viewer Ver0.14