タグ

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

  • システム管理に使えるファイル更新監視テク - 技術メモ帳

    システム管理とかしてると、特定のディレクトリ以下のファイルの更新を 調べたいときとかっていうのはわりとある。 どんなファイルが更新されてどういった内容に変化したのかを見える化。 またしても Linux / watch ネタだ。FreeBSDはportsで、mac osx(darwin)は どこかで公開されてたdmgを使ってる。 中毒性があるので未成年の使用は禁止されている。 カレントディレクトリ内のファイルを 最近更新があったファイルを上の方に表示し、 最終行2行を表示し続けるもの。 $ watch -n2 'tail -n2 `ls -t`' Every 2s: tail -n2 `ls -t` Wed Feb 28 01:04:40 2007 ==> test2.txt <== unko ==> test4.txt <== aiueoadfsaf ==> test1.txt <== e

    witt
    witt 2010/09/29
  • mysql -Xでクエリーの結果をXMLで取得 - 技術メモ帳

    mysql -X でクエリーの結果がXMLで取得できるらしい。 興味深いのでやってみた。 なんか適当にテーブルを作成する。 とりあえず、4つのカラムを持つtというテーブル作った。 mysql> create table t(id int not null, name varchar(255), body text, updated_at datetime); mysql> insert into t values(1, 'name', 'body', current_timestamp); mysql> insert into t values(2, 'name2', 'body2', current_timestamp); とりあえず、普通にSELECTで表示してみる。 # mysql -e 'SQL' で任意のSQLを実行可能。ワンライナーに使えます。 $ mysql -e 'sele

    witt
    witt 2007/02/21
  • 複数のファイルの名前をまとめて変更する on zsh - 技術メモ帳

    最も簡単なやり方を紹介するのを忘れていた。 for file (*.html) mv $file $file:r.htm

  • 入力履歴からの予測による自動補完機能 - 技術メモ帳

    zshには、過去の入力履歴から予測し、 リアルタイムに自動補完してくれるという機能というのがあるようだ。 predict-on というのが該当する。 例えば以下の画像は、 この機能を有効にした状態で 'h' とだけ入力した状態だ。 Enter キーを押すだけでただちに実行できる。 なんだか、結構便利だったので 以下のような設定で使用する事にした。 % autoload predict-on % zle -N predict-on % zle -N predict-off % bindkey '^X^Z' predict-on % bindkey '^Z' predict-off % zstyle ':predict' verbose true zsh の man で載っているキーバインドに設定してみた。 Ctrl+X Ctrl+Z で predictモードが ON になり、 Ctrl+Z

    入力履歴からの予測による自動補完機能 - 技術メモ帳
    witt
    witt 2006/12/05
  • 技術メモ帳: [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

  • ディレクトリに名前を付けて簡単に移動できるようにする - 技術メモ帳

    Named Directory という機能があるらしい。 やり方は簡単で、 hash コマンドの -d オプションを利用する。 hash -d 名前=ディレクトリパス 以後、cd ~名前 で移動できるようになる。 たとえば以下のようにすると、 % hash -d test=/usr/local/src こんな感じで移動できるようになる。 % cd ~test ~test% # ここはプロンプトの設定にもよる ~test% pwd /usr/local/src ちなみに、 setopt auto_cd としておくと、 もっと簡単に移動できる。 % ~test ~test% 追記: どうも、hash -d でなくともよく 実際には任意の変数に cd ~変数 とすることでその変数の文字列が指すパスに 移動することが出来るようだ。 したがって、変数なら何でも良いので % src=/usr/loca

    witt
    witt 2006/11/08
  • zshのzptyを使って端末が必要な処理を自動化する - 技術メモ帳

    zsh のモジュールに zpty というのがあるのを最近発見した。 どうもコレを利用すれば指定したコマンドを 仮想端末上で実行することが出来るらしい。 具体的にどういったことが出来るようになるのかというと、 端末が必要なプログラムを自動化することが出来る。 たとえば、パスワード入力処理などだ。 パスワード文字列を標準入力から読み込ませようとしても、 大抵のプログラムでは入力できない。 なぜかというと、多くのプログラムにおいてパスワード入力処理は 端末から読み込むように作られているからだ。 zpty を利用すればそういったたぐいのものをすべて自動化できる。 いわゆる、expect というコマンドで実現していたことが zsh だけで出来るのだ。 今回は、簡単に試すことが出来るサンプルとして、 su コマンドのパスワード入力を zpty を使って自動化してみる。 まず、zsh に標準添付されてい

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

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

    witt
    witt 2006/10/05
  • 1