пытается переименовать таблицы баз данных mysql, чтобы иметь первые буквы в каждом слове, так, например, таблица с названием «renametable» станет «RenameTable». У меня было несколько сценариев от коллеги, которым удалось это сделать, получив имена таблиц из правильной базы данных, но она больше не работает, поскольку мы изменили наши серверы. Я не уверен, что изменилось, поэтому я опубликую сценарии здесь, если вы можете мне помочь.Сценарий для заглавной буквы первого слова в имени файла
Прежде всего было поместить 2 скрипта в/корневой папке, затем перейдите в папку базы данных MySQL, где данные и запустить:
ls -1 | xargs -i /root/rename2.sh {}
rename2.sh:
force=`echo $1 | tr [:upper:] [:lower:]`
if [ -f $1 ];then
mv $1 $force
fi
После этого мне пришлось запустить еще одну команду:
ls -1 ../<gooddb> | xargs -i /root/rename.sh {}
где gooddb представляет собой базу данных со структурой именования правильной таблицы
rename.sh:
#!/bin/sh
lower=`echo $1 | tr [:upper:] [:lower:]`
if [ -f $lower ];then
mv $lower $1
fi
Теперь, когда я запускаю первую команду я получаю ошибку:
: not founde2.sh: 2: /root/rename2.sh:
/root/rename2.sh: 7: /root/rename2.sh: Syntax error: end of file unexpected (expecting "then")
И ошибка для второй команды после этого:
xargs: /root/rename.sh: No such file or directory file
, хотя я разрешил полный контроль над этими двумя файлами.
Как бы вы разобрали «seedoneat»? Это «SeeDonEat» или «SeedOneAt»? Независимо от этого: '], тогда' будет проблемой - исправьте это, чтобы сказать ']; затем' ... – twalberg