Я относительно новичок в программировании. У меня есть папка с подпапками, в которой содержится несколько тысяч html-файлов, которые в общем названы, то есть 1006.htm, 1007.htm, которые я хотел бы переименовать, используя тег из файла.Переименование файлов HTML с использованием <title> тегов
Например, если файл 1006.htm содержит заголовок страницы, я хотел бы переименовать его Page Title.htm. Идеально пространство заменяется тире.
Я работал в оболочке с сценарием bash без везения. Как это сделать, либо с 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
Но я получаю сообщение об ошибке от терминала exlaing, как использовать Grep ...
так мы то, что вы сделали до сих пор. Я думаю, что решение grep типа может работать –