# Created on savesnippets.com · https://savesnippets.com/WijqGSWfGiro2D # Dry run — print what WOULD change grep -rln "old_name" src/ # Replace in matching files (GNU sed) find src -type f -name "*.py" -exec sed -i 's/old_name/new_name/g' {} + # BSD/macOS sed: requires an extension arg for -i (use '' for no backup) find src -type f -name "*.py" -exec sed -i '' 's/old_name/new_name/g' {} + # Make a backup of every modified file (.bak extension) find . -name "*.conf" -exec sed -i.bak 's/localhost/example.com/g' {} + # Limit to files containing the pattern first (faster on large trees) grep -rl "old_name" src/ | xargs sed -i 's/old_name/new_name/g'