どさどさにっき(SP1) 〜2008年6月中旬〜

by やまや
<< = >>

2008年6月15日(日)

無題

_ 次のクルマきまたー。ホンダのスパイク。そんなに大きな車じゃないけど中はむちゃくちゃ広い。色はいまいち好みじゃないけど、オプション装備は充実してるし、状態もいいし、そのわりに値段も低めだし、妥協。事故の示談金に夏のボーナスをたせばこの程度の金額ぐらい……ぜんぜんたりないよ。元の車がそんなに高かったわけでもなし、そんなに高給取りなわけでもなし、しかたない。やっぱり事故で車なくすのは懐がイタむ。

_ 車庫証明を取るためにアパートを管理してる不動産屋に承諾書を書いてくれと電話したら、郵送不可で直接来てくれ、しかも手数料2000円とか言われた。この前の車のときはそんなことした記憶はないんだけど。めんどくせぇ。


2008年6月16日(月)

grep -C

_ まあ -A でも -B でも -C でもいいけど、GNU grep でマッチした行の前後も表示するというオプション。

% yes '' | cat -n | head | grep -C 2 5
     3
     4
     5
     6
     7
1 から 10 の連番のうち、5 を含む行と、その前後2行を表示する。

_ 逆に、これらの行を削除しようとして -v と組み合わせると

% yes '' | cat -n | head | grep -v -C 2 5
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
機能しない。しくしく。

_ なんかエレガントな方法ないかな。とりあえず今回は深く考えず sed やら awk やらでごまかしたけど。


2008年6月17日(火)

ssh -n

_ 今日のハマリ。複数のホストで同じコマンドを実行させたい、とゆーときに、

#!/bin/sh
while read host; do
    ssh $host command arg
done
というスクリプトを作って、
% ./hoge.sh < hostlist
てな感じで実行すると、hostlist に書かれたホスト群のうちの最初のひとつに対して実行が完了した時点でスクリプトが終わってしまう。連続実行してくれない。どうやら ssh が読む標準入力と、sh スクリプトにリダイレクトされてきた標準入力がごっちゃになってうまく扱えないよーだ。

_ つーことで、ssh に標準入力を無視(-n)させればよい。

#!/bin/sh
while read host; do
    ssh -n $host command arg
done
ssh が標準入力を読む必要があるときは不可(パスワード入力含む)。あるいは、ファイル記述子の2番とか3番とかを駆使してもいけるかもね。ためしてないけど。


<< = >>
やまや