将文件夹中的所有图像移动到子文件夹,并将对这些图像的所有引用更新到其新位置?

将文件夹中的所有图像移动到子文件夹,并将对这些图像的所有引用更新到其新位置?

我有一个文件夹,里面有大约 50 个文本文件 (PHP) 和数百张图片。我想将所有图片移动到一个子文件夹中,并更新 PHP 文件,以便对这些图片的任何引用都指向新的子文件夹。

我知道我可以很容易地移动所有图像(mv *.jpg /image、mv *.gif /image 等...),但不知道如何更新所有文本文件 - 我假设必须创建一个正则表达式来匹配文件中的所有图像,然后以某种方式将新目录附加到图像文件名中?最好使用 shell 脚本来完成此操作吗?任何帮助都值得赞赏(服务器是 Linux/CentOs5)

谢谢!

答案1

下面的脚本应该可以帮助您入门。不过请先在数据副本上尝试一下。

#!/bin/bash
mkdir images
for f in *.jpg *.gif
do
    sed "s|$f|images/$f|" *.php
    mv $f images
done

相关内容