gpt4 book ai didi

Linux:按名称顺序批量重命名多个文件到父目录+后缀

转载 作者:太空宇宙 更新时间:2023-11-04 10:27:43 28 4
gpt4 key购买 nike

我需要批量重命名多个图像,并希望使用父目录作为基本名称。为防止一个覆盖另一个,必须添加后缀。重命名过程的顺序必须遵循文件的时间戳。因为“第一个”文件是我正在使用它的网站的特色图片。

树:

└── main
├── white tshirt
│   ├── IMG_1.jpg
│   ├── IMG_2.jpg
│   ├── IMG_3.jpg
│   └── IMG_4.jpg
├── black tshirt
│   ├── IMG_1.jpg
│   ├── IMG_2.jpg
│   ├── IMG_3.jpg
│   └── IMG_4.jpg
└── red tshirt
├── IMG_1.jpg
├── IMG_2.jpg
├── IMG_3.jpg
└── IMG_4.jpg

目标:

└── main
├── white tshirt
│   ├── white-tshirt-1.jpg
│   ├── white-tshirt-2.jpg
│   ├── white-tshirt-3.jpg
│   └── white-tshirt-4.jpg
├── black tshirt
│   ├── black-tshirt-1.jpg
│   ├── black-thisrt-2.jpg
│   ├── black-tshirt-3.jpg
│   └── black-tshirt-4.jpg
└── red tshirt
├── red-tshirt-1.jpg
├── red-tshirt-2.jpg
├── red-tshirt-3.jpg
└── red-tshirt-4.jpg

用破折号代替空格不是必需的,但首选。平台:Debian 8

最佳答案

我认为这应该可以完成工作:

#!/bin/sh

for dir in *; do
if [ ! -d "$dir" ]; then
continue
fi

cd "$dir"

pref=$(echo "$dir" | tr ' ' -)

i=1
ls -tr | while read f; do
ext=$(echo "$f" | sed 's/.*\.//')
mv "$f" "${pref}-${i}.$ext"
i=$(expr $i + 1)
done

cd ..
done

在您的主目录中调用脚本并确保其中只有您的目标文件夹。还要确保您的文件名不包含字符“\”

关于Linux:按名称顺序批量重命名多个文件到父目录+后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41027978/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com