【发布时间】:2013-12-21 18:45:26
【问题描述】:
我对编程比较陌生。我有一个带有子文件夹的文件夹,其中包含数千个通常命名的 html 文件,即 1006.htm、1007.htm,我想使用文件中的标签重命名它们。
例如,如果文件 1006.htm 包含 Page Title ,我想将其重命名为 Page Title.htm。理想情况下,空格替换为破折号。
我一直在使用 bash 脚本在 shell 中工作,但没有运气。如何使用 bash 或 python 做到这一点?
这是我目前所拥有的......
#!/usr/bin/env bashFILES=/Users/Ben/unzipped/*
for f in $FILES
do
if [ ${FILES: -4} == ".htm" ]
then
awk 'BEGIN{IGNORECASE=1;FS="<title>|</title>";RS=EOF} {print $2}' $FILES
fi
done
我也试过
#!/usr/bin/env bash
for f in *.html;
do
title=$( grep -oP '(?<=<title>).*(?=<\/title>)' "$f" )
mv -i "$f" "${title//[^a-zA-Z0-9\._\- ]}".html
done
但是我从终端收到一个错误,说明如何使用 grep...
【问题讨论】:
-
所以我们到目前为止你做了什么。我认为 grep 类型的解决方案可能有效
标签: python html bash scrape renaming