私は次のレイアウトを持っています:
- d1
- f1
- f2
- f3
- d2
- f4
- f5
- d3
- f6
- f7
- f8
- d4
- f9
私がやりたいことは、ルートディレクトリの名前を変更して、含まれる(再帰的な)ファイルの数を含めることです。長すぎない限り、形式はそれほど重要ではありません。このスクリプトを 1 時間ごとに cron として実行してディレクトリ名を更新できるようにしたいので、最初の実行後は次のようになります。
- 3-d1
- f1
- f2
- f3
- 2-d2
- f4
- f5
- 4-d3
- f6
- f7
- f8
- d4
- f9
次に、2 回目の実行後、さらにいくつかのファイルが追加および削除され、次のようになります。
- 1-d1
- f1
- 4-d2
- f2
- f3
- f4
- f5
- 10-d3
- f6
- f7
- f8
- d4
- f9
- f10
- f11
- f12
- f13
- f14
- f15
これまでのところ、次のbashスクリプトがありますが、ファイル名の正規表現置換を行う方法がわかりません
#!/bin/bash
TARGETPATH=/home/pritchea/test
for CURDIR in `ls -l $TARGETPATH`
do
if [ -d $TARGETPATH/$CURDIR ]; then
echo "$CURDIR is a directory"
FILECOUNT=`find $TARGETPATH/$CURDIR -type f | wc -l`
echo " and there are $FILECOUNT file(s)";
fi
done