タグ

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

  • 特定の所有者のファイルだけ所有者を変更 - 技術メモ帳

    今まで find と組み合わせてたのだけれども、 GNU chown だと --from というオプションがあることにさっき気づいた。 以下はカレントディレクトリ以下のファイルで 所有者が from_user:from_group なファイルのみ所有者を変更するためのコマンド。 -c オプションを付けて処理の様子を画面に出した方が良いかも。 $ chown -R --from=from_user:from_group to_user:to_group ./ 今までのやり方だと、だいたい以下のような感じ。 オプションとかは適当なのでおそらく動作しない。 最近マスコミで流行ってる、画面はイメージです メソッドを使用した。 $ find . -type f -user from_user:from_group | xargs chown to_user:to_group 実にどうでも良いが、マス

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

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

  • Firebugを使ってはてなダイアリーのコメントをまとめて削除 - 技術メモ帳

    最近、というか継続的に謎の外人さん から大量のコメントを頂いていた。 (多分高度な知的生命体が僕とコンタクトをとろうとしてる。) 悲しい事に宇宙語が僕はまったくわからないので すべて reject する事にした。 (愚かしい事にも僕は対話ではなく拒絶を選択したのだ。) コメント部分のチェックボックスをすべて true にする Firebug用のスクリプト適当にでっちあげた。 Array.forEach( $$(".list-plain")[0].getElementsByTagName("input"), function(e){ if(e.type=="checkbox") e.checked=true; } ); コレを実行した後はコメント削除ボタンをぷっしゅ。

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

    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

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

    less 起動中に、F と大文字で入力する事で、 tail -f のような挙動になるらしい。 知らなかった。 いつでも気軽に直前のログを見に戻る事が出来るのが良いね。 Ctrl + C で元のモードに戻る。 lessの場合 less +内部コマンド名 としておく事で起動時に内部コマンドを実行できるので とりあえず、ltailf という名前でエイリアスしておいた。 alias ltailf='less +F'

    takatoshiono
    takatoshiono 2006/12/03
    すげえ。lvもできるのかな。
  • 指定した最終更新日時のファイルを探す - 技術メモ帳

    GNU find find . -type f -printf "%h%f %AY/%Am/%Ad\n" | egrep '2006/09/30$' zsh + zsh/stat zmodload zsh/stat stat -F "%Y/%m/%d" +mtime ./**/*(.) | egrep '2006/09/30$'

    takatoshiono
    takatoshiono 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

    takatoshiono
    takatoshiono 2006/11/20
    すげー
  • sshで多段ログイン - 技術メモ帳

    たとえば以下のように A というサーバーをログインしなければ到達できない B というサーバーがあったとき local --> hostA --> hostB 二回に分けて入力するのが面倒くさい。 local$ ssh user@hostA # Aにログイン成功 hostA$ ssh user@hostB # やっとBに到達。面倒!! hostB$ そんなときに、以下の構文を思い出すことだろう。 ssh user@host リモートで実行したいコマンド リモートで実行したいコマンドで "ssh user@hostB" ってやったらいいんじゃないかと 思いつきでやってしまうと、以下のようにエラーになる。 $ ssh user@hostA "ssh user@hostB" Pseudo-terminal will not be allocated because stdin is not a t

  • Firefox拡張 Stylish - 技術メモ帳

    リンク元をたどっていたら、 こんなやり方を教えていただいていた。 http://www.smallstyle.com/20060802.html で、早速 Stylish を入れてみたのだが これがまた便利。 修正したCSSを すぐに反映させることが出来るのがよい。 とりあえず、デザインを変えるだけなら Greasemonkey でやるよりも Stylish でやった方が良いなぁと思った。 さっそくこの間作った GIGAZINEのロゴ小さくする GreasemonkeyScript を一時的に無効にして 以下の Stylish CSS を適用してみた。 @namespace url(http://www.w3.org/1999/xhtml); @-moz-document domain("gigazine.net") { img[src*="logo.png"] { width: 100p

  • 現在選択している文字列を取得 - 技術メモ帳

    Firefox document.getSelection(); IE document.selection.createRange().text Safari window.getSelection(); Opera document.getSelection() 追記: id:takiuchi さんに、 Operaでの取得方法を教えていただいた。

  • BASE64 encode/decode - 技術メモ帳

    encode >>> btoa("hello") "aGVsbG8=" decode >>> atob("aGVsbG8=") "hello" Firefoxだけっぽいけど、 ボクは、Firebugで使用できる という事に意味を感じる。

  • sshで指定したコマンドしか実行できない公開鍵を作る - 技術メモ帳

    自動バックアップ処理をさせたいが シェル権限を与えたくないときとかに使える技。 やり方は簡単で $HOME/.ssh/authorized_keys の "コマンドを制限したい公開鍵" の行の先頭に 実行させたいコマンドを記述すればよい。 そのときのフォーマットはだいたい以下のようになる。 command="実行させたいコマンド",sshのオプションをカンマ区切りで書く command=hoge というのを付け足すことによって その公開鍵でアクセスがあったときに 指定したコマンドを実行させることができる。 たとえば、uptime を実行させたいときは、 以下のようにすればよい。 command="uptime",no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-rsa AAAABbBFERTWER....

  • 任意のページでprototype.js使えるようにするGreasemonkey - 技術メモ帳

    実は Greasemonkey にコレを登録してたりする。 http://d.hatena.ne.jp/lurker/20060713/1152795744 こんな感じの事をしておくと、 任意のページで任意の Javascript ライブラリが使えるようになって Firebugがより楽しくなってくる(主観)。

  • 技術メモ帳 - pgrep, pkill を使用してプロセスを殺す

    最近、会社でシェルの操作方法について教えているのだが、 pgrep / pkill / skill / pidof といった 便利なプロセス操作系コマンドを知らない人が実に多い。 プロセスを殺すというのは、よくある作業なので 今回はコレについて書いてみる。 たとえば、これらのコマンドを知らない人が、 指定した名前のプロセスを kill する手順はだいたい 以下のようなものになることだろう。 $ ps aux | grep プロセス名 | grep -v 'grep' # コマンドの出力結果から pid を目で確認 12345 ... .. hoge .. .. $ kill 12345 この作業は非常に面倒で退屈だ。 もし殺さなければならないプロセスがたくさんあったときは どうするのだろうか。 おまけに、grep コマンド自身が候補に含まれてしまう事があるのだが、 grep -v grep

    takatoshiono
    takatoshiono 2006/11/09
    しりませんでした。
  • 1