Я относительно новичок в программировании. У меня есть папка с подпапками, которые содержат несколько тысяч html-файлов с общими именами, например 1006.htm, 1007.htm, которые я хотел бы переименовать, используя тег из файла.
Например, если файл 1006.htm содержит Заголовок страницы, я хотел бы переименовать его Заголовок страницы.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
Но я получаю сообщение об ошибке терминала, объясняющее, как использовать grep...