Linux下知识点整理(一)

在深度学习平台使用和管理的过程中,遇到了许多问题,造成了不少的困扰,所以从今天开始,特意整理起来,用做备忘录。

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脚本调试技术

猜你喜欢

转载自blog.csdn.net/u010472607/article/details/78844797