====== BASH - Strings - Find & Replace ======
var="abcdabe"
echo ${var/ab/fg}
returns:
fgcdabe
**NOTE:** Only the first match is changed.
To change all occurrences use:
var="abcdabe"
echo ${var//ab/fg}
returns:
fgcdfge
----
===== Changing contents within a file =====
contents=$(< infile.txt)
$ echo "${contents/$old/$new}"
**NOTE:** This reads the file into a Bash variable and uses parameter expansion.
* **infile.txt**: The input file here is named **infile.txt**.
* **$old**: The string to replace.
* **$new**: The replacement string.
----
To change the file in-place:
echo "${contents/$old/$new}" > infile.tmp && mv infile.tmp infile.txt