В Perl это можно сделать так:
perl -pe 'BEGIN { $v=shift; }
s/(MyID=")[^"]*(")/$1.$v.++$t.$2/ge' 7777777878889888 foo.xml bar.xml
Поскольку в вашем пароле MySQL есть специальный символ, вам нужно его экранировать, если вы хотите использовать голую команду в задании cron, поскольку %
имеет особое значение для cron.
Вместо этого я бы посоветовал использовать скрипт, например. простой:
#!/bin/bash
mysqldump --opt -Q -u'{mysql_user_name}' --password='{password}' {database} | gzip > /home/[account_name]/db_backup/db_backup$(date +"%Y.%m.%d.%S.%N").sql.gz
Вы можете пойти еще дальше и переместить учетные данные в переменные:
#!/bin/bash
MY_USER="{mysql_user_name}"
MY_PWD="{password}"
mysqldump --opt -Q -u"$MY_USER" --password="$MY_PWD" {database} | gzip > /home/[account_name]/db_backup/db_backup$(date +"%Y.%m.%d.%S.%N").sql.gz
Это должно сработать для вас.