我有以下布局:
- d1
- f1
- f2
- f3
- d2
- f4
- f5
- d3
- f6
- f7
- f8
- d4
- f9
我想要做的是重命名根目录以包含其中包含的(递归)文件的数量。格式不是很重要,只要它不太长。我希望能够每隔一小时左右将这个脚本作为 cron 运行以更新目录名称,因此在第一次运行后它会如下所示:
- 3-d1
- f1
- f2
- f3
- 2-d2
- f4
- f5
- 4-d3
- f6
- f7
- f8
- d4
- f9
然后在第二次运行之后,可能会添加和删除更多文件,现在看起来像这样:
- 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