Change "example.com" to your desired replaced domain.
--dry-run flag ensures no replacements are actually made
=====================
*.wpengine.com
=====================
for domain in $(wp db query "
SELECT DISTINCT SUBSTRING_INDEX(SUBSTRING_INDEX(t.val, '.wpengine.com', 1), '//', -1) AS subdomain
FROM (
SELECT option_value AS val FROM wp_options
UNION ALL
SELECT meta_value AS val FROM wp_postmeta
UNION ALL
SELECT post_content AS val FROM wp_posts
) AS t
WHERE t.val LIKE '%wpengine.com%' AND t.val LIKE '%//%';
" --skip-column-names); do
if [ -n "$domain" ]; then
echo "Running search-replace for: $domain.wpengine.com"
wp search-replace "//${domain}.wpengine.com" "//www.example.com" \
--precise --all-tables --skip-columns=guid,user_email --report-changed-only --dry-run
fi
done
=====================
*.wpenginepowered.com
=====================
for domain in $(wp db query "
SELECT DISTINCT SUBSTRING_INDEX(SUBSTRING_INDEX(t.val, '.wpenginepowered.com', 1), '//', -1) AS subdomain
FROM (
SELECT option_value AS val FROM wp_options
UNION ALL
SELECT meta_value AS val FROM wp_postmeta
UNION ALL
SELECT post_content AS val FROM wp_posts
) AS t
WHERE t.val LIKE '%wpenginepowered.com%' AND t.val LIKE '%//%';
" --skip-column-names); do
if [ -n "$domain" ]; then
echo "Running search-replace for: $domain.wpenginepowered.com"
wp search-replace "//${domain}.wpenginepowered.com" "//www.example.com" \
--precise --all-tables --skip-columns=guid,user_email \
--report-changed-only --dry-run
fi
done