指定したディレクトリ以下に対してコマンドが発行できたらいいなぁ。**/*とかで実現できる気もするけどよくわからない。-r オプションが存在しないコマンドって使いにくいなぁ。
以下は、指定したディレクトリ以下のファイルすべての行数を出力するスクリプト。Bourne Shell 使用。
#!/bin/sh # if paramters are not exist, # the START_POINT is set current directory. if [ $# -eq 0 ] then START_POINT=. else START_POINT=$1 fi echo $START_POINT find $START_POINT | while read FILENAME do if [ -f $FILENAME ] then LINE=`cat $FILENAME | wc -l` echo "$LINE $FILENAME" else echo "00000000 $FILENAME" fi done
コメント部分の英語が英語圏の人に通じるといいなぁ。英語勉強中。
横着プログラミング: 小粒なツールたちを見ると、whileでたくさんのファイルをひとつづつ処理することについて書いてある。while使いになれば -r オプションがなくても問題なし?
tags: sh zurazure
Posted by NI-Lab. (@nilab)