2S-FactoryIT系個人事業主。Windows系、UNIX/Linux、ネットワークスキルがあります。申し訳ありませんが現在活動休止中です。shinsuke返信awkを使って欲しい情報だけを抽出する超基本的なサンプルです。マッチした場合に、必要な列を出力するサンプルをやってみました。同様に、7列(カラム)目が”京都府”にマッチした場合に、必要な列を出力するサンプルに修正してみました。大きなデータを扱う場合は、たったこれだけでもawkの便利さを実感出来るものです。したスクリプトですが、12万行を2秒かからずに処理しちゃってますからね。$7が「”京都府”」と等しければ、$3と$7と$8をPRINTする命令を記していますawkにはフィールド番号という概念があり、左側から$1、$2と数えます。この概念のお陰で容易にCSV形式のファイルを扱うことが出来ます。参考に付け加えれると、$0は行全体(1レコード)を指します。$3,$7,$8}END{}まだソースコードうんぬんという程のことではありませんが一応記しておきます。徐々にもっと実用的なサンプルを実行してみたいと思います。shinsuke1EC-CUBE2.4系をカスタマイズして使用している知人から相談を受けて、送料の扱いをEC-CUBE標準では対応出来ないパターンに対応させました。ヒントとなるカスタマイズポイントは、EC-CUBEの公式カスタマイズ本(青本)に書いてあったので、その部分を修正することと、後は実現したい内容を整理すると、極々単純な計算式に修正するだけで行けるという事がわかったので、実際のカスタマイズはEC-CUBEの構成ファイル3つを少し修正するのと、データベースに一つレコードを追加するだけでOKでした。これらの検証はWindows上にインストールしたPostgreSQL+Apache/PHP+phpPgAdminの環境で簡単に行えました。簡単な検証ならXAMPPでも良いかも知れませんね。shinsuke返信S-Factoryとしては、Windows用アプリの開発にはVS2010をメインで使っており、VS2012は積極的には使っていません。やって着実にアップデートが進んでいるようです。Windowsストア向けのアプリを開発する人にはVS2012は必要だと思いますので、追従していくしかないですね。いう情報が入ってくると、そろそろWindowsストアの事も調べるべきなのかなぁと思わざるを得ません。shinsuke返信awkをWindowsで使う為の環境づくりを動画でYouTubeにアップロードしました。郵便番号データ(CSV)をダウンロードして、それをawkで処理するサンプルを行なってみます。ファイル容量で言えばいまどき大した大きさではありませんが、郵便番号データ全国版はテキストファイルで12万行以上ありますので結構なデータです。実際、一昔前のPCで、Excel等の表計算アプリに取り込むとかなり処理が重くなってしまうものです。ちなみにExcel2007よりも古いバージョンでは6万数千行までしか読み込むことが出来ません。BEGINでFS(フィールドセパレータ)をカンマだと定義するBEGINでOFS(アウトプットフィールドセパレータ)をカンマだと定義する欲しい情報が含まれる列だけ表示させてみる$1、$2、$3、という感じで左側からカンマで区切られた列を数えます。1は、読み込むファイルの区切り文字を指定します。郵便番号データはカンマ「,」で区切られていますのでFS=”,”となります。2.は、awkが出力する際の区切り文字を指定します。区切り文字をここで変更すれば、カンマ区切りのデータを”:”区切りにしたり、TAB区切りに加工したりと任意に指定出来ます。ここの例では同じカンマ区切りにしています。3.は実際の処理です。$3と$7と$8をPRINTする命令を記しています。awkにはフィールド番号という概念があり、左側から$1、$2と数えます。この概念のお陰で容易にCSV形式のファイルを扱うことが出来ます。$3,$7,$8}END{}参考に付け加えると、$0は行全体(1レコード)を指します。ソースコードうんぬんという程のことではありませんが一応記しておきます。shinsuke返信awkをWindowsで使う為の環境づくりを動画でYouTubeにアップロードしました。聞きながら見るという方法が一番無駄がないのですが、マイクの音質が悪いのでコメントを字幕として設定しています。やっている事が良く分からない場合は字幕を有効にしてみて下さい。「正直に書くブログ」でも記していますが、awkをWindowsで使える状態にして置くと、仕事の現場においては何かと便利です。CSVデータを扱う人にとってはかなり便利なツールで有ると言えます。「おーくの友だち」というユーティリティを使うと非常にWindowsライクな操作になるので、このユーティリティと、実際に処理をするgawk.exeというプログラムをダウンロードしてセットアップします。設定の手順の中で、INIファイルを直接編集して絶対パスを相対パスに書き換えている部分があります。ココの部分が壁になるとは思いますが、「おーくの友だち」を作っている開発者さんに改修していただけたら一番良いのになと思っています。キャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。%d人のブロガーが「いいね」をつけました。