gpt4 book ai didi

正则表达式移动和更改文件名

转载 作者:行者123 更新时间:2023-11-29 09:30:40 25 4
gpt4 key购买 nike

我正在尝试在此目录和格式中移动大量文件:

/1.12.268/1.12.268_Hi_3D.jpg

到这个目录和格式:

/1.12.0268/1.12.0268_Hi_3D.jpg

我已经成功地运行了一个为我创建了所有新文件夹的正则表达式:

ls 1* | find . -type d | awk '{print("mkdir "$1)}' | sed 's/[0-9][0-9][0-9]*/0&/2'

但我不知道要使用什么正则表达式来创建 mv 语句,该语句会将所有文件移动并重命名到它们的新文件夹中?

这和我来的一样接近,但是文件夹颠倒了,文件没有重命名。

ls 1* | find . -type f | awk '{print("mv "$1" "$1)}' | sed 's/[0-9][0-9][0-9]*/0&/2'

我得到这个输出:

mv ./1.12.0269/1.12.269_Low_Tech.gif ./1.12.269/1.12.269_Low_Tech.gif
mv ./1.14.0410/1.14.410_hi_3d.jpg ./1.14.410/1.14.410_hi_3d.jpg
mv ./1.14.0410/1.14.410_hi_tech.jpg ./1.14.410/1.14.410_hi_tech.jpg
mv ./1.14.0410/1.14.410_low_3d.png ./1.14.410/1.14.410_low_3d.png
mv ./1.14.0410/1.14.410_low_tech.png ./1.14.410/1.14.410_low_tech.png
mv ./1.14.0845/1.14.845_hi_3d.jpg ./1.14.845/1.14.845_hi_3d.jpg
mv ./1.14.0845/1.14.845_hi_tech.jpg ./1.14.845/1.14.845_hi_tech.jpg
mv ./1.14.0845/1.14.845_low_3d.png ./1.14.845/1.14.845_low_3d.png
mv ./1.14.0845/1.14.845_low_tech.png ./1.14.845/1.14.845_low_tech.png

当我真的想要这个的时候:

mv ./1.12.269/1.12.269_Low_Tech.gif ./1.12.0269/1.12.0269_Low_Tech.gif
mv ./1.14.410/1.14.410_hi_3d.jpg ./1.14.0410/1.14.0410_hi_3d.jpg
mv ./1.14.410/1.14.410_hi_tech.jpg ./1.14.0410/1.14.0410_hi_tech.jpg
mv ./1.14.410/1.14.410_low_3d.png ./1.14.0410/1.14.0410_low_3d.png
mv ./1.14.410/1.14.410_low_tech.png ./1.14.0410/1.14.0410_low_tech.png
mv ./1.14.845/1.14.845_hi_3d.jpg ./1.14.0845/1.14.0845_hi_3d.jpg
mv ./1.14.845/1.14.845_hi_tech.jpg ./1.14.0845/1.14.0845_hi_tech.jpg
mv ./1.14.845/1.14.845_low_3d.png ./1.14.0845/1.14.0845_low_3d.png
mv ./1.14.845/1.14.845_low_tech.png ./1.14.0845/1.14.0845_low_tech.png

非常感谢任何帮助!

最佳答案

我有肮脏的方式来做到这一点。试一试。

ls 1* | find . -type f | awk '{print("mv "$1" "$1)}' | sed 's/[0-9][0-9][0-9]*/0&/6' | sed 's/[0-9][0-9][0-9]*/0&/8'

关于正则表达式移动和更改文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11904527/

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