技術メモ

技術メモ

2017-04-01から1ヶ月間の記事一覧

タブ区切りを置換する

vim

tsv形式で、各行の一部の値を置換したい。 エスケープ周りで少し混乱したのでメモ。 \(.*\)\t\(.*\)\t\(.*\)\t\(.*\)\t\(.*\)\t\(.*\)\t\(.*\)\t\(.*\)/99\t\2\t\3\t\4\t\5\t\6\t\7\t\8/g

指定期間の中で処理を繰り返す

指定期間の中で日付を使ってごにょごにょしたい。 s=`date -d $start_date +%s` e=`date -d $end_date +%s` period=`expr \( $e - $s \) / 60 / 60 / 24` for i in $period # 一日だけの場合は別途調整する必要あり do year=`date +"%Y" -d "$start_date +$i…

IPの個数をカウント

awk

IPレンジの中のIPの個数を知りたい(awkでログを漁る時に必要になったりする)。 IPを2進数と見立てて10進数に変換したうえで差分を取る。 split(ipstart,ipstart_ary,"."); x=ipstart_ary[1]*16777216+ipstart_ary[2]*65536+ipstart_ary[3]*256+ipstart_ary…

Fuelでトランザクションを張る

php

FuelPHPで、複数のDBに対してトランザクションを張りたい。 start_transaction(); $conn_default->start_transaction(); // sql $conn->commit_transaction(); $conn_default->commit_transaction(); } catc…

group単位でまとめて、カンマ区切りの文字列に結合

mysqlでいう「GROUP_CONCAT」をhiveqlでやりたい。 GROUP_CONCAT関数の便利さは異常 - 開発の風景 〜KKZのSE日記〜 この複数行の結果をつなげてカンマ区切りの文字列にしたい場合、GROUP_CONCAT関数が便利です。これを使うとgroup by単位でまとめて、カンマ…