File: //bigscoots/wpo/extras/replacedomaininattachment.sh
#!/bin/bash
#CHANGE VALUES BELOW
OLD="$1"
NEW="$2"
#STOP
PREFIX="$(wp config get table_prefix --allow-root --skip-plugins --skip-themes)"
DBNAME="$(wp config get DB_NAME --allow-root --skip-plugins --skip-themes)"
mysql "${DBNAME}" -sNe \
"SELECT meta_id,meta_value FROM ${PREFIX}postmeta WHERE meta_key LIKE '_wp_attached_file' AND meta_value LIKE '%$OLD%';" | \
while read -r METAID REPLACEOLD
do
REPLACENEW="${REPLACEOLD//$OLD/$NEW}"
echo "Replacing ${REPLACEOLD} with ${REPLACENEW}"
mysql "${DBNAME}" -e "UPDATE ${PREFIX}postmeta SET meta_value = '${REPLACENEW}' WHERE ${PREFIX}postmeta.meta_id = ${METAID};"
wp search-replace ${REPLACEOLD} ${REPLACENEW} ${PREFIX}posts --include-columns=post_content --allow-root --skip-plugins --skip-themes
done