重命名多个文件

重命名多个文件

前言:我是一个绝对的Linux新手,请不要严格评判。

我有一个目录,其中包含 .pnm 扩展名的多个图像(超过 100 个)。我希望从某种意义上重命名它们,它们的名称应该是“img1.pnm”,“img2.pnm”,“img3.pnm”等。所以它们的名称中应该有一个共同的部分——“img”以及从“1”开始的不同索引。

我怎样才能做到这一点?

答案1

尝试以下操作...

unset i; for f in *.pnm; do mv "$f" "img$((++i)).pnm";done

答案2

尝试

 ls *.pnm | awk -F. '{printf "mv %s img%d.pnm\n",$0,NR;}' | bash

在哪里

  • ls *.pnm |列出 pnm 的文件列表
  • awk -F. '{printf "mv %s img%d.pnm\n",$0,NR;}'启动 awk
    • -F。使用 。作为分隔符
    • '{printf "mv %s img%d.pnm\n",$0,NR;}'打印移动说明并为文件编号。
  • | bash指令是给 bash 的。

你甚至可以预览

ls *.pnm | awk -F. '{printf "mv %s img%d.pnm\n",$0,NR;}'

相关内容