2007/03/22

trコマンドの使い道

昨日は仕事でマシンルームに籠っていたけれど、'}'の文字だけがタイプできないキーボードになってしまっていたので、awk でプログラミングをする必要に迫られて困ってしまった。 条件は次の通り。

  1. インターネットを含むあらゆるネットワークに接続不可
  2. OSに組み込みのコマンド(awk, manなど)が使えるのみ
  3. マウスやキーボードを使ったコピー&ペーストは不可。(端末からはviで作成)

sendmail.cf には豊富に '}' があることを思いつくまで時間がかかったけれど、

$ grep '{' sendmail.cf | tail -1 | head -c xx | tail -c 2
などとして適当に'}'を得ることができた。
最終的には ">> script.sh' にコピーし、bashスクリプトからawkのone-linerを作成する事ができた。 viの'yキー'(yank)が使えないと、だめですが…。

けれど、今になって思うとtrコマンドを使う方法があった事に気がついた。 odコマンドで調べれば、'{'のコードはすぐにわかるから、だいたいあたりをつけてしまえば手元では簡単にできる。

echo '0' | tr '0' '\175'

まぁプログラムは無事に完成したので、問題ないでしょう…。 viで2つのファイルを編集しても良かったけれど、自信ないんだよなぁ…。

0 件のコメント: