0
尝试将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”?无论如何,这:'];然后'是一个问题 - 修复它说']; then' ... – twalberg 2014-10-16 20:34:04