Bash重命名文件以追加文件夹名称

问题描述 投票:0回答:1

在文件夹和子文件夹中,我有一堆按日期命名的图像。我正在尝试提出一个脚本来查找文件夹/子文件夹,并重命名所有jpg文件以添加文件夹名称。

示例:

/桌面/旅行1/200512 1.jpg

/桌面/旅行1/200512 2.jpg

将成为:

/桌面/旅行1 /旅行1 200512 1.jpg

/桌面/旅行1 /旅行1 200512 2.jpg

我曾尝试调整此脚本,但无法弄清楚如何添加新部件。我也不知道如何在子文件夹中使用它。

#!/bin/bash
# Ignore case, i.e. process *.JPG and *.jpg
shopt -s nocaseglob
shopt -s nullglob

cd ~/Desktop/t/

# Get last part of directory name
here=$(pwd)
dir=${here/*\//}
i=1
for image in *.JPG 
do
   echo mv "$image" "${dir}${name}.jpg"
   ((i++))
done
bash macos rename finder
1个回答
0
投票

在for循环中尝试以下操作。请注意,“”用于脚本可以处理文件名中的空格。

for image in "$search_dir"*.JPG
do
    echo mv "'$image'" "'${dir} ${image}'"
done
© www.soinside.com 2019 - 2024. All rights reserved.