使用文件夹名称重命名文件并将它们移动到一个大文件夹

项链

我有一个包含 40个子文件夹的文件夹,每个子文件夹包含 20~21 jpg,全部命名为01.jpg -> 20.jpg子文件夹被命名为Nature_Set_01Nature_Set_40

我想将所有图片移动到一个文件夹中,名称为Nature_Set_01_01.jpgNature_Set_40_20.jpg或类似名称,我并不真正关心名称。

如果我不清楚,这是一棵树:

├── Nature_Set_01
│   ├── 01.jpg
│   ├── 02.jpg
│   ├── ...
│   └── 20.jpg
├── Nature_Set_02
│   ├── 01.jpg
│   ├── 02.jpg
│   ├── ...
│   ├── 21.jpg
├── ...
├── Nature_Set_40
│   ├── 01.jpg
│   ├── 02.jpg
│   ├── ...
│   ├── 20.jpg

我不是 bash 大师,我试图了解如何去做,但我失败了。任何人都可以帮忙吗?

加西莫多

在父目录中执行此脚本。

mkdir folder
for file in Nature_Set_*/*.jpg; do
    mv "$file" "folder/${file/\//_}"
done
  • 它创建目录 folder

  • 然后循环遍历匹配的文件Nature_Set_*/*.jpg,将找到的每个文件移动到"folder/${file/\//_}".

  • 最后一个构造,${file/\//_},是参数展开的一种特殊形式,其骨架是${parameter/pattern/replacement}由于/已经是构造的定界符,如果要出现在pattern. 因此在文件名中/被替换_
    例子:Nature_Set_01/01.jpg变成Nature_Set_01_01.jpg.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java:使用唯一名称重命名MultiPartFile并将其存储到文件夹并将URL保存到数据库

在不同文件夹中使用相同名称重命名文件

Python 3无法压缩文件夹并将其移动到另一个文件夹

python:通过子文件夹名称重命名子文件夹中的文件

使用文件夹名称重命名文件夹中的所有图像

重命名Jpegs的大文件夹

重命名一个文件夹的文件夹中的文件到其父文件夹?

如何将文件的文件夹移动到一个可变名称的文件夹

如何使用文件夹名称重命名文件列表

重命名文件夹中的文件,然后将其移动到另一个文件夹

重命名前一个文件夹中的datetime后如何将文件移动到新文件夹

根据文件夹名称重命名文件

根据文件夹名称重命名文件

通过文件夹名称重命名文件

Java重命名一堆文件并将其移动到新文件夹

根据它们的匹配将文件夹移动到另一个文件夹

Shell脚本重命名并将文件从一个文件夹移动到另一个文件夹

使用sudo将文件夹移动到另一个文件夹

我可以使用父文件夹的名称重命名文件夹中的文件吗?

在Linux上按文件夹的文件夹名称重命名文件

编写bash脚本以调整图像大小,将其移动到另一个文件夹并重命名它们

Bash:使用文件夹名称重命名文件(每个文件夹 1 个)

使用父文件夹的名称重命名子文件夹中的文件

将文件从子文件夹复制到父文件夹并使用父文件夹名称重命名文件

使用 OSX 终端在该文件夹内的第一个文件后重命名文件夹

如何批量重命名多个文件夹中的多个文件并将它们合并到一个大文件夹中?

将文件夹中的文件重命名为一个名称

使用 bash `find` 使用文件夹名称重命名文件

查找 index.html 文件并使用文件夹名称重命名并将文件向上移动一个级别