sed, редактор потока, ваш друг здесь. Например,
sed -i.bak -e's/<p id="first"/<p id="second"/' file.html
изменит все абзацы с идентификатором 'first' до id 'second' в файле.html и создаст файл .html.bak в сделке.