Regularity

February 14, 2020 @WAT

I love regular expressions…

function change_file() {
  local row
  local temp_row
  for row in $(grep -E "\"\\$\{[^{]*}\"" < ${1}); do
    temp_row=$(echo ${row} \
    | sed -e 's/\"\${//; s/}\"//;
        s/\"/\\\"/g; s/\$/\\\$/g; s/[|]/\\|\$/g;
        s/\[/\\\[/g; s/\]/\\\]/g; s/\&/\\\&/g')
    row=$(echo ${row} \
     | sed -e 's/\"/\\\"/g; s/\$/\\\$/g; s/\[/\\\[/g; s/\]/\\\]/g')
    sed -i "s/${row}/${temp_row}/1" ${1}
  done
}