在深度学习平台使用和管理的过程中,遇到了许多问题,造成了不少的困扰,所以从今天开始,特意整理起来,用做备忘录。
shell编程部分:
问题情境:批量改名(给一个目录下所有图片进行改名)
给33张图片批量改名,用做Faster R-CNN 评估代码测试使用,调试AP指标如何计算
知识点: for循环、格式化输出
ind=0
for name in `ls`;
do
printf -v new_name '%05d.JPG' $ind;
ind=$(expr $ind + 1);
# or
# ind=`expr $ind + 1`;
cp $name ../AP/$new_name;
done
例子2:循环输出10次格式化数字
for ((i=0;i<10;i++));
do
var=$(printf '%04d' $i);
echo $var;
例子3:格式化输出
# printf可以格式化输出: 直接输出到终端控制台上
$ printf '%05d\n' 1
00001
# echo 只能直接输出
$ echo '%05d\n' 1
'%05d\n' 1
例子4:循环创建VOC2007一级目录
$ ls
... VOC2007
for dir in `find VOC2007 -maxdepth 1`;
do
`mkdir -p ./tky/$dir`;
done
结果: 在当前目录下创建了tky
目录,里面包含了VOC2007下的一级目录
参考:
* shell 字符串格式化到变量
* 关于Shell的补零,用printf来格式化数字列。
* Shell脚本调试技术