算術比較
ようやくshスクリプトが便利だということがわかってきた.
今回はデータのある値が定数以上出現するファイル以外を削除する,ということをやろうとした.普通にPerlスクリプトを書こうとしたが,shで書けるということに気がついた.
#!/bin/sh # 引数が0の場合,エラー if [ ! $1 ]; then echo "Input correct threshold." exit fi THRESHOLD=$1 echo "Input Threshold is "$THRESHOLD # ARFFファイルを取得 for f in `find ./ -type f -name "*.arff"` do # "pos"}が出現する行数をカウントする VALUE=`grep '"pos"}' $f | wc -l` # 閾値以下の場合削除 if [ $VALUE -lt $THRESHOLD ]; then CMD="rm "$f echo $CMD # $CMD fi done
こういうときむかし読んだUnixという考え方という本を思い出す.
ほとんど内容忘れたけれど,重要なのは「小さな働きをするコマンドを複数つなげて大きな仕事をする」という事だったような気がする.
最近はとにかく「もったいないお化け」を出さないように心がけている.標準出力でたらパイプパイプ!
しかしBourne shellは覚えられないなぁ...
- 作者: Mike Gancarz,芳尾桂
- 出版社/メーカー: オーム社
- 発売日: 2001/02/01
- メディア: 単行本
- 購入: 40人 クリック: 498回
- この商品を含むブログ (145件) を見る