改进用于更新HTML文件的shell脚本的性能



我正在使用以下代码生成HTML文件。有几百个HTML得到更新&每一个都有几千个更新的URL。

我认为下面的代码执行起来会相当快。然而,处理数据需要一个多小时,这是不可接受的。有时可能超过2个小时。

请帮助我提高此代码的性能?

update_index_page(){
echo "Updating $1"
mega_string=''
while read line
do
subitem=$(echo "${line}" | awk -F"#" '{print $3}')
short_url="<a href="https://mywebsite.com/${1}/${subitem}.html" target="_blank" rel="noopener">${subitem}</a>"
mega_string="${mega_string}<tr><td>${short_url}</td><td>$(echo "${line}" | awk -F"#" '{print $2}')</td><td>$(echo "${line}" | awk -F"#" '{print $1}')</td></tr>"
done<"${TMP_LOC}/${1}.txt"
echo "${HTML_PART_1}${mega_string}${HTML_PART_2}${HTML_PART_3}" > ${CODE_LOC}${1}/index.html
if [[ "${1}" == "All-Items" ]]
then
to_replace=$1"andALL"
sed -i "s/PLACEHOLDEREXCHANGENAME/$to_replace/g" ${CODE_LOC}${1}/index.html
else
sed -i "s/PLACEHOLDEREXCHANGENAME/$1/g" ${CODE_LOC}${1}/index.html
fi
}

while read line
do
update_index_page "$line"
done<"$INPUT_FILE"

我用python重新编写了这一部分,它需要大约10分钟才能完成,而之前需要2个或更多小时。

最新更新