Não havia nada de errado com o código. Eu estava simplesmente editando uma cópia do script em vez da que eu estava executando.
Eu tenho um script com o seguinte código:
find . -name "*.html" -print0 | while IFS= read -r -d '' n; do
sed -i -r 's/<font color="#bbbbbb">\.<\/font>.*?<input[^µ]*?mabulle\.hide\(\)">//1' "$n"
sed -i -r 's/<\/body>/<a href="\.\/00Tree\.html">Back<\/a><\/body>/' "$n" #add back link
done
O segundo sed
não está funcionando. Se eu correr
sed -i -r 's/<\/body>/<a href="\.\/00Tree\.html">Back<\/a><\/body>/' filename.html
da linha de comando funciona perfeitamente.
Os arquivos html são nomeados como 0_name.html, 1_name.html, etc.
O que estou fazendo de errado?
Não havia nada de errado com o código. Eu estava simplesmente editando uma cópia do script em vez da que eu estava executando.
Tags command-line bash sed linux script