提高用于更新 HTML 文件的 shell 脚本的性能
Improve performance of shell script used to update HTML files
我正在使用以下代码生成 HTML 文件。有几百个 HTML 得到更新,每个都有几千个 URL 得到更新。
我认为下面的代码执行起来相当快。但是,处理数据需要一个多小时,这是不可接受的。有时会超过2小时。
请问我可以得到帮助来提高这段代码的性能吗?
update_index_page(){
echo "Updating "
mega_string=''
while read line
do
subitem=$(echo "${line}" | awk -F"#" '{print }')
short_url="<a href=\"https://mywebsite.com//${subitem}.html\" target=\"_blank\" rel=\"noopener\">${subitem}</a>"
mega_string="${mega_string}<tr><td>${short_url}</td><td>$(echo "${line}" | awk -F"#" '{print }')</td><td>$(echo "${line}" | awk -F"#" '{print }')</td></tr>"
done<"${TMP_LOC}/.txt"
echo "${HTML_PART_1}${mega_string}${HTML_PART_2}${HTML_PART_3}" > ${CODE_LOC}/index.html
if [[ "" == "All-Items" ]]
then
to_replace="andALL"
sed -i "s/PLACEHOLDEREXCHANGENAME/$to_replace/g" ${CODE_LOC}/index.html
else
sed -i "s/PLACEHOLDEREXCHANGENAME//g" ${CODE_LOC}/index.html
fi
}
while read line
do
update_index_page "$line"
done<"$INPUT_FILE"
我 re-wrote python 中的部分需要大约 10 分钟才能完成,而之前需要 2 小时或更长时间。
我正在使用以下代码生成 HTML 文件。有几百个 HTML 得到更新,每个都有几千个 URL 得到更新。
我认为下面的代码执行起来相当快。但是,处理数据需要一个多小时,这是不可接受的。有时会超过2小时。
请问我可以得到帮助来提高这段代码的性能吗?
update_index_page(){
echo "Updating "
mega_string=''
while read line
do
subitem=$(echo "${line}" | awk -F"#" '{print }')
short_url="<a href=\"https://mywebsite.com//${subitem}.html\" target=\"_blank\" rel=\"noopener\">${subitem}</a>"
mega_string="${mega_string}<tr><td>${short_url}</td><td>$(echo "${line}" | awk -F"#" '{print }')</td><td>$(echo "${line}" | awk -F"#" '{print }')</td></tr>"
done<"${TMP_LOC}/.txt"
echo "${HTML_PART_1}${mega_string}${HTML_PART_2}${HTML_PART_3}" > ${CODE_LOC}/index.html
if [[ "" == "All-Items" ]]
then
to_replace="andALL"
sed -i "s/PLACEHOLDEREXCHANGENAME/$to_replace/g" ${CODE_LOC}/index.html
else
sed -i "s/PLACEHOLDEREXCHANGENAME//g" ${CODE_LOC}/index.html
fi
}
while read line
do
update_index_page "$line"
done<"$INPUT_FILE"
我 re-wrote python 中的部分需要大约 10 分钟才能完成,而之前需要 2 小时或更长时间。