Se você executar a saída de sua consulta mysql por meio dos comandos a seguir, ela fornecerá a saída desejada. Você pode usar essa saída para ser avaliada, por exemplo, canalizar em um arquivo e executar esse arquivo como um script de shell.
mysql | grep -v '\$' | while read line; do echo "${line}" | sed 's#\(^[0-9]*\)[\ ]*\([0-9\.]*\)#rsync -rvp *..extension root@:/path/of/dest#g'; done
Aqui estão os detalhes do comando:
mysql # Your command with output (this is of course longer than this)
grep -v '\$' # Exclude the header
while read line; do # Start a while-loop
echo "${line}" # Echo the contents of the current line that we've read to the next command
# Regular expression to filter the number and the IP and add these to the command, they are held by the variables .
sed 's#\(^[0-9]*\)[\ ]*\([0-9\.]*\)#rsync -rvp *..extension root@:/path/of/dest#g'
done; # Close the while loop
E o conteúdo do regexp explicado:
(^[0-9]*\) # From the beginning (^), zero or more (*) numerical [0-9] character
[\ ]* # Zero or more (*) spaces. These are not in brackets, so they won't be matched into a variable.
([0-9\.]* # Zero or more (*) numerical characters or points [0-9\.]