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

数字のリストをカンマ区切りに整形して出力する

a.txt 123 414 535 整形 $ cat a.txt|xargs echo |sed -re "s/\s/,/g"xargs echo がポイント 123,414,535カンマ区切りの一行出力になった

出力の最初の一行を除外する function

~/.bashrc function skip-first-row { cat -n|grep -vP "^\s+1\s" } 実行 cat a.log | skip-first-row

mysql の user テーブルの操作で簡易的に接続を遮断

mysqld stop start の間にクエリーがあると、ログの不整合で次回起動時に エラーになる恐れがあるので、できればすべてのクエリーを遮断したい function grant_stop { mysqldump -uroot -p*** mysql user > /home/init9/tmp/user.sql mysql -uroot -p*** mys…

mail コマンドで画像を添付して送る

uuencode a.jpg b.jpg | mail -s "image file" "init9@gmail.com"a.jpg を b.jpg という名前で添付して送る 関連記事 mail コマンドで from を指定する - init9の日記 mail コマンドで日本語のメールを送る - init9の日記

~/.bashrc の function を sudo でも使う

~/.bashrc function hoge { tail -f /var/log/cron # root 権限が必要な処理 } うまくいかない例 $ sudo hoge sudo: hoge: command not foundfunction hoge が認識されていない --login オプションをつけた bash コマンド経由で実行する $ sudo bash --login…

~/.bashrc の function を cron から使う

~/.bashrc は non-interactive shell の場合しか読まれないので、 --login オプション付きの bash コマンド経由で実行する crontab -e */5 * * * * echo hoge |jmail -s "テスト" "init9@gmail.com"jmail が解決できないので実行されない */5 * * * * bash -…

mail コマンドで from を指定する

$ echo hoge|mail -s "test" "init9@gmail.com" -- -f "hogefuga@init9.com"hogefuga@init9.com を送信者としてメールが届く 日本語のメールの場合 mail コマンドで日本語のメールを送る - init9の日記 $ echo "ほげ" |jmail -s "テスト" "init9@gmail.com" …

mail コマンドで日本語のメールを送る

~/.bashrc function jmail { nkf -j |mail `echo $* |nkf -j` }jis に変換してから mail コマンドにつなぐ function を書いておく 実行 $ echo "あ"|jmail -s "い" "init9@gmail.com"件名も日本語でおk 関連記事 ~/.bashrc の function を使って、良くやる作…

thunderbird で引用元メールの送信者名だけでなく時間も入れる

参考 http://gnug.nu/index.php?option=com_content&task=view&id=22&Itemid=5Mac の場合は /Users/***/Library/Thunderbird/Profiles/******.default/user.js 変更前 init9 wrote: >hello, >my name is 変更後 init9 wrote at 4/8/08 9:09 PM >hello, >my n…

「数字 文字列」のリスト出力について、表示条件を指定するための bash function

~/.bashrc function morethan { perl -nle "print \$_ if m/^\s*(\d+)/ && \$1>$1" } function lessthan { perl -nle "print \$_ if m/^\s*(\d+)/ && \$1>$1" } 実行(1) $ history|morethan 9665 #9665より大きいパイプして使う 9666 bashrc 9667 bashrc …

apache log と同じ形式で昨日の日付を表示する

$ perl -MDateTime -le "my \$d = DateTime->now->add(days=>-1);print \$d->month_abbr,' ',\$d->ymd(' ')"|awk '{print $4 "/" $1 "/" $2}' bash function として登録 function date_for_httpd_log { perl -MDateTime -le "my \$d = DateTime->now->add(da…

1行で googlebot からのアクセスを解析する

$ cat /usr/local/apache2/logs/root_access_log|grep Googlebot |awk '{print $8}'|perl -nle "print \$1 if m/^(\/[^\/]+)/"|sed -re "s/\s//g"|sort|uniq -c|sort -nr 結果 18295 /photo 10757 /tag 10389 /user 1299 /comment 312 /profileパスとそれぞ…

コマンドラインで使うための簡単なデータ保存の仕組みを bash function で作る

~/.bashrc function store { if [ "$2" ]; then echo $1 " " $2 >> ~/.bashstore; else cat ~/.bashstore |grep "^$1" |sed -re "s/$1\s+//g" |tail -1; fi } 保存 $ store hoge fuga 取得 $ store hogefuga 更新 $ store hoge 090-9999-9999 取得 $ store h…

echo で改行を出力する

echo "hoge" "\n" "fuga" hoge \n fuga改行されない echo "hoge" $'\n' "fuga" hoge fuga改行された

javascript-xpath on jquery

とれる .xfind("./span[contains(@class,'active')]")とれない .children("./span[contains(@class,'active')]")dousite,,

日本語文字のリストから一発でアンカーのリストを作る

vi words.txtあいうえお かきくけこ 実行 cat words.txt |perl -nle "my \$str = \$_; \$str =~ s/([^A-Za-z0-9])/sprintf(\"%%%02X\", ord(\$1))/seg;print \$_,\" \",\$str;" |awk '{print "<a href=\"/word/"$2 "\">" $1 "</a>"}' 結果 <a href="/word/%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A">あいうえお</a>

~/.bashrc の function を使って、良くやる作業をコマンド化

vi ~/.bashrcfunction fcgikill { echo "killing $1 ..."; ps axf|grep -P "([f]cgi)"|grep $1|awk '{print $1}'|xargs kill -KILL } 反映 source ~/.bashrc fcgikill hoge # hoge を含む fcgi プロセスを kill する 注意 function名と最初のブレース({)との…

vi でスペースを改行に置換

:%s/ /\r/g 参考 http://vimwiki.net/?tips%2F71

特定のサイトについて google が過去24時間にインデックスしたページの数をワンライナーで調べる

実行 echo "http://www.google.co.jp/search?hl=en&lr=&rlz=1B3GGGL_jaJP268&q=+site%3Ayahoo.co.jp&as_qdr=d&btnG=Search" |perl -MLWP::UserAgent -nle "my \$ua = LWP::UserAgent->new;\$ua->agent('Mozilla/5.0');my \$con = \$ua->get(\$_)->content;\$…