在 HTML 文件中添加连续编号

在 HTML 文件中添加连续编号

我有一堆 HTML 和图像文件。HTML 文件的名称为 page1.html、page2.html、page3.html 等。图像的命名方式相同,为 image1.jpg、image2.jpg、image3.jpg 等。每个 HTML 文件都有一个指向图像文件的链接。

<img src="image.jpg" alt="">

此链接应指向与 HTML 文件编号相同的图像文件。如何为 HTML 文件添加连续编号,以便从 page1.html 链接到 image1.jpg 等等?是否有某个程序(适用于 Windows)或者我可以使用命令行?

答案1

Powershell 是解决此问题的绝佳解决方案。

Set-Location "C:\htmlfiles"

# for each html file
gci *.html | % {

    # select the number from the filename
    $number = $_.BaseName -replace '\D+(\d+)','$1'

    # prepare the new image file name
    $newImageName = 'image' + $number + '.jpg'

    # get the content of the html file and replace the old image name with the new name
    (gc $_).Replace('image.jpg',$newImageName) | sc $_

}

答案2

你不太可能找到可以做到这一点的软件,因为这是非常具体的事情。你可以创建一个自定义PowerShell脚本来执行此操作,但如果你不习惯,这并不容易PowerShell

我认为最好的选择是将 HTML 和图像分开放在名为 XXXX1、XXXX2 的文件夹中,并且每个文件夹内只有不带数字的 HTML 文件和不带数字的图像。

答案3

我知道你标记了这个问题,但你也标记了它, 所以 ...

如果你有 GNU/Unix 工具(包括 Windows Subsystem for Linux 或 Windows 上的 Linux Subsystem(或任何名称)、Windows 上的 Ubuntu 上的 Bash、Cygwin 等),你可以相当轻松地完成此操作:设置dir为文件所在目录的名称(可以是),然后执行"."

for file in "$dir"/page*.html
do
    basename=${file%.html}
    number=${basename#$dir/page}
    sed -i "s/<img src=\"image.jpg\" alt=\"\">/<img src=\"image$number.jpg\" alt=\"\">/" "$file"
done

这着眼于全部目录中名称以 开头page和以 结尾的文件.html,提取介于其间的所有内容(应为文件编号),然后编辑元素<img>以更改图像文件名。

相关内容