gpt4 book ai didi

regex - 使用 sed 和 mv 重命名文件

转载 作者:行者123 更新时间:2023-11-29 08:54:15 30 4
gpt4 key购买 nike

我想重命名以下格式的文件:

img_MM-DD-YY_XX.jpg

img_MM-DD-YY_XXX.jpg

到:

newyears_YYYY-MM-DD_XXX.jpg

地点:

  • YYYY = 年
  • MM = 月
  • DD = 天
  • XXX 或 XX = 照片编号

我想出了这个脚本,但它不起作用:

for filename in ?*.jpg; do
newFilename=$(echo $filename | \
sed 's/img_\(.*\)-\(.*\)-\(.*\)_\([0-9][0-9]\)\./newyears_20\3-\1-\2_0\4./;
s/img_\(.*\)-\(.*\)-\(.*\)_\([0-9][0-9][0-9]\)/newyears_20\3-\1-\2_\4/' -)
mv $filename $newFilename
done

如有任何帮助,我们将不胜感激。

最佳答案

你可以在 bash 中试试这个脚本:

for filename in *.jpg; do
newFilename=$(sed -E 's#img_([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})_(.*)$#newyears_20\3-\2-\1_\4#' <<< "$filename")
mv "$filename" "$newFilename"
done

sed -E 也被 gnu sed 支持。

关于regex - 使用 sed 和 mv 重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5671773/

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