後輩が cat README | tr ' ' '\n' | sort | uniq -c | sort -nr | head てなテクニックを見て、びっくりしたみたいな話をしていたのだが、こういうパイプラインを利用するテクニックを学んでいないのは色々損な気がする。 ていうか、サーバで丸一日以上かかるような処理を実行するのもしょっちゅうなのに、GNU screen も nohup も知らないってのはいろいろ支障があるような気もするのだが、だれも教えないものかなぁ。 ということで、bash or zsh のちょっとしたテクニックとか*1。リダイレクトとかパイプラインは略。 連続実行 単純に連続実行。 % foo; barfoo が正常終了したときだけ bar を実行 % foo && barfoo が正常終了しなかったときだけ bar を実行 % foo || bar&&、||は本来は論理演
最近、会社でシェルの操作方法について教えているのだが、 pgrep / pkill / skill / pidof といった 便利なプロセス操作系コマンドを知らない人が実に多い。 プロセスを殺すというのは、よくある作業なので 今回はコレについて書いてみる。 たとえば、これらのコマンドを知らない人が、 指定した名前のプロセスを kill する手順はだいたい 以下のようなものになることだろう。 $ ps aux | grep プロセス名 | grep -v 'grep' # コマンドの出力結果から pid を目で確認 12345 ... .. hoge .. .. $ kill 12345 この作業は非常に面倒で退屈だ。 もし殺さなければならないプロセスがたくさんあったときは どうするのだろうか。 おまけに、grep コマンド自身が候補に含まれてしまう事があるのだが、 grep -v grep
2007年09月20日13:30 カテゴリTips tips - 1ディレクトリにファイル大杉の場合の削除法 これ、以前にも書いたのですがここでおさらい。 subtech - PBD - 1ディレクトリにン千万ファイルあるときの削除方法 どうやるのが一番良いんだろ。404 Blog Not Found:勝手に添削 - find(1)より抜粋 findが-deleteをサポートしている場合 % find dir -type f -delete そうでない場合 % find dir -type f | perl -nle unlink 私がこれらを利用しているのは、SPAMの処理の時。Junkフォルダーにまとめたそれらを、bsfilterに食わせた後、上記にて削除。ファイル数十万オーダーでもOK。 あと、1ディレクトリーにファイルを多数押し込んだときに、ファイルシステムがどれだけ遅くなるかはフ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く