Multiple Subdirectory sed Operation

The below will loop through each subdirectory from wherever you run it, then perform a sed operation on files matching the file ending.

As can be seen in the example, I’ve used this to quickly update providers across lots of Terraform modules, without having to manually update them.

# Formatted:
for directory in *; do
    for file in $directory/*.tf; do
        sed --in-place=.bak --regexp-extended 's/aws    = "2.67.0"/aws    = "3.17.0"/g' $file
    done
done