home «前の日記(2005-10-23) 最新 次の日記(2005-10-26)»

いろいろ
Seize the day.

2004|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|07|09|10|
2009|12|

2005-10-25 [長年日記]

[comp] ed をつかってみる

ツッコミスパムがついに私のところにもやってきたので,bulkfeeds DNSBL を用いたフィルタを導入してみたが, 既に来てしまったツッコミは手動で消さないといけない.そこで,xrea 鯖に ssh でログインしてみたところ…

vi が使えねー!!

いや,vi (というか vim) はあるんだけど,なぜか root でしか実行できないようになってる.ex は vim への symlink になってる.Emacs などの高機能なエディタはもちろんない.

ということはですね…,えーと,あれを使えと?
……ed を??

そう,なぜか ed だけは一般ユーザでも動くのである.しかしラインエディタを使うは初めてだったりする.man ed してみたがさっぱりわからん.ぐぐってみたが情報が極端に少ない.せいぜい以下の 2 つくらい. まあとりあえず使ってみる.以下個人的メモだけど,使い方の参考にでもなるかな.
% ed /path/to/file
  • リターンキーを押すと,現在の行を表示しながら 1 行ずつ進んでいく.
  • そのまま調子に乗って連打していると EOF までいってしまうので,ここで指定した行への飛び方を覚えよう.単に行数を打てばよい.例えば「3」と打てば,3 行目にジャンプしてその行を表示する.5 行進むには「+5」,戻るには「-5」.
  • 最終行は「$」で表される.これは正規表現と同じだね.それじゃ先頭行は「^」かとうっかり思いそうだけど,これは間違いで,よく考えたら「1」で済むのだ.
  • 今いる行 (カレント行) を表示するには「.」である.これは Unix のカレントディレクトリと同じ発想 (Mew にも採り入れられているね).
  • さらに高度な表示は「p」(for 'print') だ.「5p」で 5 行目を表示するのは「5」と同じだけど,「5,10p」で一気に 5〜10 行が表示される.これでかなり楽になる.この「行数+コマンド文字」という表記は ed 制御の基本である.
  • 挿入は「a」(for 'append') か「i」(for 'insert').vi と同様に,カレント行の前に挿入するには「i」で,後に挿入するには「a」.ピリオドだけの行を挿入すれば挿入モードから抜ける.
  • 行削除は「d」(for 'delete').「5,8d」で 5〜8 行目を削除.
  • 行の修正は「c」(for 'change').指定された行が,入力された行で置き換えられる.入力の終わりはやはりピリオド行.
  • 置換は「s」(for 'substitute').「2,7s/foo/bar/」で,2〜7 行目の最初の foo を bar に置き換える.最後に「g」をつけて「2,7s/foo/bar/g」にすれば,その行の全ての foo を bar に置き換える.さすが sed の原型,馴染み深い書式.
  • 編集が終わったら,「w」(for 'write') でファイルに書き込んで「q」(for 'quit') で終了.このあたりも vi と同じ.
まあこれだけ知ってれば一通りの編集はできるかな.基本的に vi 使いなら意外ととっつき易い.vi や ex が使えない時のために (例えば termcap が壊れてる時とか,/usr がマウントできなかった時とか.去年 HDD がおかしくなった時,そういう目にあった),知っておいて損はないと思う.それに,sed は ed のコマンドを全部理解するので,sed に高度なことをやらせるのにも役に立つかも.

ちなみに tDiary のファイルは「ピリオドだけの行」が記事のデリミタになってたりするwwww.今回は影響なかったけど,ed でこの行を編集するにはどうすればいいんだろうな.

おまけ.crazy っぷりにワロタ.確かに「これらは単語ですらない!!! (Those aren't even WORDS!!!!)」ってすごいな.

[comp] 言語 Processing

Java ベースのプログラミング言語で,アニメーションや 3D CG を作るのによさげ.Flash の代わりに使えるか? めも.

[misc] 滅菌・殺菌・除菌

滅菌と殺菌の違いの話があったが,
殺菌は特定(今回は人体に有害な菌)の菌を殺すこと、滅菌は全ての菌を殺すこと。
少し前にこんな話を聞いたのを思い出した.なんでも,菌が 1 個でも減れば「除菌」なんだそうだ.
1 個というのはさすがに極端かも知れないが,滅菌や殺菌よりはだいぶ落ちる概念らしい.混同してた.

各種業界の定義 によれば,除菌の定義は
ある物質または限られた空間より微生物を除去すること
ろ過や洗浄などの手段で、物体に含まれる微生物の数を減らし、清浄度を高めること
らしい.
除菌の定義
各社とも生菌数を減少させること、あるいは増殖を抑制することという回答であった。しかし、減少や抑制の程度について、数値での記載はなかった。
スポンジを「除菌」しても、菌数がゼロになるわけではないので、洗剤による「除菌」に過大な期待をしないようにしましょう。
あと,「殺菌」もわりといい加減な概念だという話もある.
極端な話をすれば一割の菌を殺して九割が残っている状態でも「殺菌した」ということは可能である。
ちなみに生物実験なんかでは,エタノールで拭くのは「消毒」で,オートクレーブや乾熱滅菌器は「滅菌」だな.メンブレンフィルタのろ過滅菌って,「滅菌」と言っちゃっていいのか? 確かに残らず「いなくなる」けど.
あと上の記事で間欠滅菌の意義を初めて知った.なるほど.
このエントリーをはてなブックマークに追加 はてなブックマーク数 はてなブックマーク数 はてなブックマークコメント   このエントリーを livedoor クリップに追加 livedoor クリップ数 このエントリーを del.ici.ous に追加 このエントリーを buzzurl に追加 buzzurl クリップ数

お名前:
E-mail:
コメント:
[TrackBack URL: http://nao.s164.xrea.com/td/tb.rb/20051025]
[(注) スパム対策のため,言及リンクのないトラックバックは受け付けていません.]
本日のリンク元
検索

以下の広告はサーバによって自動的に挿入されています.


Copyright © 2004-2006, nao. All rights reserved.