2012年6月21日木曜日

正規表現+置換

 投資対効果の極めて高い、プログラムなんて分からない人のための「単純作業自動化」入門
 http://ryosukeishii.hatenablog.com/entry/2012/06/21/021503




•改行、タブなど特殊文字\n,\t,^,$
改行や、タブ区切りなどを表現するための特殊な記号が割り当てられています。 (次の2つはC言語などでもおなじみですね)
改行:\n
タブ区切り:\t
文の頭:^
文末:$
 たとえば
^1223\t
で検索すると、文頭すぐに1223があって、直後にタブがついているもののみヒットする、ということになります。

また、
検索:\n\n
置換:\n
で置換を行うと、改行が2つ入っているものを、1つにまとめる事ができるため

こんなふう↓ に
---------------
一行目テキスト

二行目テキスト

三行目テキスト

四行目テキスト
---------------
改行がたくさん入っているテキストを
こんなふう↓ に
---------------
一行目テキスト
二行目テキスト
三行目テキスト
四行目テキスト
---------------
改行を詰めることができます。
ちなみにこれを、
検索:\n
置換: (置換後は無し)
で置き換えると、
 --------------- 
一行目テキスト二行目テキスト三行目テキスト四行目テキスト
---------------
のように、文章からひとつも改行がなくなってしまいます。


また、
検索:\t
置換:,
のようにすると、タブ区切りのファイルを、カンマ区切りに変える事ができます。

2012年6月7日木曜日

slow queryログの設定

my.cnfに設定
vi /etc/my.cnf

[mysqld]に追加
log-slow-queries=/var/log/mysqld-slow.log
ログファイルを書き出す場所。

long-query-time=3
3秒以上かかったQueryを記録。
log-queries-not-using-indexes
インデックスを使わないQueryを記録。

MYSQL再起動
#/etc/init.d/mysqld restart


logrotate追加
vi /etc/logrotate.d/mysqld-slow.log

/var/log/mysqld-slow.log {
weekly
nocompress
missingok
}

ログをクリアする場合
# :> /var/log/mysql-slow.log