タグ

*tipsとPerlに関するswatのブックマーク (13)

  • LTSVログをパースする最強のワンライナー集 · DQNEO日記

    最初に結論 これ最強 cat accesslog | perl -F'\t' -nale '%h=map{split/:/,$_,2}@F;print"$h{time}\t$h{ua}"' なぜPerlワンライナーなのか? LTSVログを解析するには、Perlのワンライナーに限る。 なぜならPerlはほとんどのサーバにデフォルトで入ってるから。 Perl 5.8で動くワンライナーを覚えておけばどの環境でも使える。 「何にも依存しない」 これ最強。 基中のキホン まずは基形です。 これだけは絶対覚えてしまいましょう。 perl -nale 'print' % cat access_log | perl -nale 'print ' time:[22/Feb/2014:15:13:07 +0900] host:10.10.200.102 ident:- user:- method:GET

    LTSVログをパースする最強のワンライナー集 · DQNEO日記
  • 一行野郎(ワンライナー)でテキストファイルの行間に空行を入れたり削ったりする - 週末には少しPerlを。

    元ネタ ワンライナーでいろいろな事ができるようになるとカッコイイだろうなと 思いつつ手頃な教科書を探していたのですが、 "Perl One-Liners Explained" という記事が英文ですが読みやすかったので、 ここに第一章の覚書メモを残すものです。 行間に空行を入れるには 各行に改行を付加して出力する方法 perl -pe '$_ .= "\n"' とすればよろしい。3行の間隔を開けたいなら"\n"x3とする。 -p スイッチは次のコードと等価になるとのこと。 while (<>) { # your program goes here } continue { print or die "-p failed: $!\n"; } 別解として、$OUTPUT_RECORD_SEPARATORを変更する方法や、 perl -pe 'BEGIN {$\="\n"}' 行末を置換する方法も

    一行野郎(ワンライナー)でテキストファイルの行間に空行を入れたり削ったりする - 週末には少しPerlを。
  • キャッシュしよう

    京都観光で散財しすぎて貯金がないmalaです。こんにちは。キャッシュの話を書きます。 色んなキャッシュがあります データベースから引く前にmemcachedから取得したり テンプレートエンジンのレンダリング結果をキャッシュしたり 各種ウェブサービスのリクエスト結果をキャッシュしたり その他諸々CPUったり時間のかかる処理をキャッシュしたり 簡単に思いつくのはこの程度ですが、スケーラブルなウェブサイトを構築するには常識的に考えてそんなのキャッシュしねーだろうというようなものをキャッシュする必要があります。 DateTimeをキャッシュしよう 同じ時刻に対するDateTimeオブジェクトをキャッシュします。 package MyDateTime; use strict; use base qw(DateTime); my %CACHE; sub now { my $class = shif

  • Perlメモ

    複数のプロセスでロック状態が異常であると判断し,そのうちの 1つがロックを解除したことにより,別のプロセスがロックしたにもか かわらず,先ほどロック状態が異常であると判断したプロセスによってこの正常なロッ クを解除されてしまう可能性があります. この方法の問題点は,異常なロック状態を解除する操作が正常なロック状態をも 解除できてしまうことにあります.逆に言えば,異常なロック状態を解除する操作に よって正常なロック状態を解除できなければ問題ないわけです.そのためにはどうす ればよいのか? 答えはロック状態が常に変化していけば よいということです.そして,これを実現するのに都合がよいのが rename による方法になります. 最初のスクリプトで説明しますと,ロックファイルが lockfile という 名前のときがロックが解除されている状態で,lockfile987654321 のよう に後ろに

    Perlメモ
  • HTMLタグを取り除く - にししの Perl/CGI Tips ふぁくとりー

    上記の正規表現 <.*?> で、タグを表現しています。 最初に「 < 」が、最後に「 > 」がありますね。その中に「.*?」とあります。 「.*」は任意の文字列に一致します。どんな文字にも一致するわけです。その後に「?」があるので、そのうちの「最小の長さのもの」に一致します。 総合すると、「 < 」~「 > 」で囲まれた任意の文字列のうち最も短いものに一致するわけです。 それを削除しているわけです。 ※「?」がないと、ソース先頭の「 < 」とソース末尾の「 > 」に一致してしまい、ソース全部がまるごと削除されてしまいます。ですから、「?」は絶対必要です。 最後の「g」は、一致するものが複数個ある場合、それら全てに対して置換を行わせる指示です。これがないと、最初の1つのタグだけしか消せません。

  • 移転しました

    移転しました。 https://mas3lab.net/perl/waza/index.html

  • Linuxで自宅サーバ構築・管理: KSKNET

    stat - ファイル情報の取得 stat関数はファイルの様々な情報を得るための関数です。この関数を使うことでファイルサイズや、ファイル所有者、最終更新時間などを調べることができます。

  • 技術メモ帳: [unix]複数のファイルの名前をまとめて変更する

    複数のファイルの名前を変更する際に、 便利なコマンドというものがある。 いくつかご紹介させていただこう。 カレントディレクトリにあるファイルの名前を、 たとえば、*.html を *.htm と名前を変更するという課題に対し どのぐらいエレガントに書けるかというのを比較してみる。 まず、普通にやったらどうだろう。 おそらく、for文 をつかうことだろう。 for file in *.html do base=`basename $file .html` mv $base.html $base.htm; done; zshだともうちょっとスマートにかけて、 for file in *.html do mv $file:r.html $file:r.html; done; こんな具合。 for文 が嫌いなネット右翼のために、 xargs を使ってこの問題を解いてみよう。 ls -1 *.htm

  • Ajax,Apache,CSS,CVS,HTML,JS,Perl,PHP等のチートシートまとめ:phpspot開発日誌

    Smashing Magazine Blog Archive Cheat Sheet Round-Up: Ajax, CSS, LaTeX, Ruby… Ajax,Apache,CSS,CVS,HTML,JS,Perl,PHP等のチートシートまとめが紹介されてます。 チートシートって印刷して貼っておくとほんとに便利でお世話になってます。 Ajax関連 What’s Ajax? Cheat Sheet - PDF Prototype Dissected - Cheat Sheet PNG scriptaculous Combination Effects - Cheat Sheet - PDF Apache関連 Apache Cheat Sheet Apache 1.3 Quick Reference Card - free quick reference cards - PDF htacc

  • crawler.jp - Plaggerをインストール@さくらインターネット

    「まるごとPerl!」を買ってきたので、これを機に念願のPlaggerを使ってみることにしました。ぜんぜん詳しくないんですが、Plaggerを使うと、これまで自前のスクリプトでスクレイピングしていたネタが簡単に収集できそうです。これはすごい! で、早速さくらインターネットのレンタルサーバ環境にインストールしようとしたんですけど、ものすごくはまってしまって、もう調べまくり。なんとかインストールはできたものの、朝になってしまいました。。。せっかくなので記念にメモを残しておきます。やたら無駄に長いです。 まずは、CPANシェルがちゃんと使えないとダメです。 CPANシェルの設定方法はこちらのエントリーをご覧ください。 http://www.crawler.jp/archives/000278.html あと、これを忘れずに。 setenv PERL5LIB $HOME/perl/lib:$H

  • WindowsにplaggerをインストールしてBloglinesをGmailで購読しよう 情報は量/ウェブリブログ

    「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧

  • 古いファイルを一括削除する perl script

    サーバの Disk 容量が足りなくなってきたので、Amazon Search とかの Web Service として提供しているアプリケーションのコンテンツ・キャッシュファイルを、ある一定期間更新がされていないファイルを一括削除することにしました。 簡単な削除スクリプトを書いてみました。キャッシュをファイルベースで管理している場合に、ひょっとして他の方にも役立つかも?と思ってソースを公開しておこうかなぁーと思って。 #!/usr/local/bin/perl use strict; use File::Find; use 5.6.0; use constant CACHE_DIR => '/temp-path'; ## 削除したいディレクトリのpath use constant EXPIRE => 50; ## 削除対象とする経過日数 find(\&filter, CACHE_DIR);

  • すべての漢字を取り出す正規表現 - totonのブログ

    http://www.unixuser.org/~euske/doc/python/sample.py.html # 日語トークンを切り出すための正規表現。 JP_TOKEN = re.compile(u"[一-龠]+|[ぁ-ん]+|[ァ-ヴ]+|[a-zA-Z0-9]+") http://www.ascii.co.jp/pb/ascii/archive/aftercare/1999.html [亜-煕]はJIS漢字を検出するときに使う正規表現になります。 文中で触れている「一太郎 Lite2」の正規表現はUnicode仕様なので,すべての漢字を検出するには,[一-龠]を使用してください(龠は音読みで「ヤク」,訓読みで「ふえ」,Unicodeでは「9FA0」にあたります)。 追記 ※「すべての漢字を取り出す正規表現」については、id:toton:20051105 に記事を追加しました。

    すべての漢字を取り出す正規表現 - totonのブログ
  • 1