#!/bin/bash sed=`which gsed || which sed` for underscore_folder in _* do echo "Processing matches for: " $underscore_folder folder_without_underscore=`echo -n $underscore_folder | $sed 's/^.//'` for underscore_file in $( find $underscore_folder -type f ) do file_without_underscore=`echo -n $underscore_file | $sed 's/^.//'` for file in $( find . -type f -name "*.html" ) do $sed -i "s/${underscore_file//\//\/}/${file_without_underscore//\//\/}/g" $file done done mv $underscore_folder $folder_without_underscore done