タグ

ブックマーク / d.hatena.ne.jp/lurker (7)

  • 環境変数 LD_PRELOAD - 技術メモ帳

    LD_PRELOAD という環境変数に、共有オブジェクトを指定すると 任意のプログラムを実行する時にその共有オブジェクトを読み込ませる事が出来るらしい。 そして、もし読み込ませたときに シンボル名 が衝突していたときは、 先に定義されたシンボル名が優先されるという仕様になっているらしい。 そこから考えられるのが、 LD_PRELOAD でわざと同じ名前のラッパー関数を作成して、 ロギング処理を注入するという事だ。(アスペクト指向だ!!) (今度やってみよう。) とりあえず、以下は LD_PRELOAD で同名関数を上書きできる例です。 まず、main.c 1 #include <stdio.h> 2 3 int main() { 4 puts("hello world!!"); 5 return 0; 6 } ただ単に、puts 関数を呼び出しています。 実行すると、当然のように hell

  • 意外と知られていないファイル探索方法(grep --include) - 技術メモ帳

    書こう書こう書こうと思っていたら先に書かれてしまった。 404 Not Found この行き場の無い感情をどうにかボクの中から排除しなければならない。 そう考えたときに独り言のようにこのブログロに記述すれば良いじゃないかという 結論にたどり着いたのはもはや必然とも言える。 find | xargs による探索だが、それが簡単なものであれば 実は grep コマンドだけでうまくいく。 GNU grep、BSD 系の grep コマンドでは include、exclude オプションで再帰検索時に検索対象とするファイルを絞り込む事が出来るのだ。 --include=pattern --exclude=pattern たとえば、カレントディレクトリ以下の *.rb から test という文字列を 含むファイルを探索したい場合は次のようにすれば良い。 fgrep -r --include='*.r

    hiboma
    hiboma 2007/03/12
    毎度毎度 勉強になります
  • 2ch閉鎖について - 技術メモ帳

    なんでソースがZAKZAKなのに信用するのかな。

    hiboma
    hiboma 2007/01/13
    確かに。。
  • 技術メモ帳 - zshで出来ている新感覚エディタzed

    zshのZLE Editorを使って作られた zedというテキストエディタがカッコいいうえに非常に便利。 zshの補完がそのまま使えたりする。 % autoload zed % zed ./test.txt 操作方法は、 変更を保存するときは、Ctrl+X Ctrl+W または Ctrl+J と入力。 破棄して終了したいときは Ctrl+C を入力すればいい。 あとはどんな bindkey をしているかによって変わるのだが 基的にemacsキーバインド 使ってみればわかるけどすごく新感覚なエディタ。 その場で編集してる感がすごくある。 ソースにも "他のシェルにはコレは出来ない" と書いてある。(いいすぎだ) # No other shell could do this. # Edit small files with the command line editor. あと、以下のような

    技術メモ帳 - zshで出来ている新感覚エディタzed
    hiboma
    hiboma 2006/11/30
    確かに新感覚
  • 技術メモ帳: [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

    hiboma
    hiboma 2006/11/20
  • 定期的にコマンドを実行しその出力の変化を監視する - 技術メモ帳

    以前に、watch コマンドという 指定されたコマンドを定期的に実行し、 フルスクリーンで表示してくれるコマンドがあるという事を書いた。 http://d.hatena.ne.jp/lurker/20060716/1153056030 実は、--differences とオプションを付加する事によって、 直前の出力結果との差分をハイライト表示してくれるらしい。 知らなかった。コレは便利だ。 正直 grep -o を知ったときぐらい感動した。 以下のように入力してみるとどうなるのかが わかっていただけると思う。 ちなみにこれは、1秒おきに、dateコマンドを実行するというもの。 $ watch -n 1 --differences date さらに、--differences=cumulative と付加すると 起動してからのすべての変更部分がハイライトされるようだ。 $ watch -n

    hiboma
    hiboma 2006/11/02
  • 直前に入力したコマンドの最後の引数を補完 - 技術メモ帳

    Esc + ドット(.) と入力すると、 直前に入力したコマンドの最後の引数を補完してくれる。 複数回入力する事によって、 過去にどんどんさかのぼっていく。 追記: ブックマークコメントにも書かれてますが、 Esc は、正確には Meta キーです。 さらに追記: 他にも、色々あるようで、 id:hiboma さんの以下のページに非常に詳しく書かれています。 http://d.hatena.ne.jp/hiboma/20061005/1160015116

    hiboma
    hiboma 2006/10/05
    おぉ// macだと alt + . 
  • 1