Linux 用于大写文件名中单词的第一个字母的脚本
我试图重命名mysql数据库的表,使每个单词都有大写字母,因此,例如,一个名为“renametable”的表将变成“renametable”。我有一个同事写了几个脚本,通过从正确的数据库中获取表名来实现这一点,但由于我们更改了服务器,它不再起作用了。我不确定发生了什么变化,所以我将在这里发布脚本,以防你能帮助我 第一件事是将这两个脚本放在/root文件夹中, 然后导航到数据所在的mysql数据库文件夹并运行:Linux 用于大写文件名中单词的第一个字母的脚本,linux,file,capitalize,Linux,File,Capitalize,我试图重命名mysql数据库的表,使每个单词都有大写字母,因此,例如,一个名为“renametable”的表将变成“renametable”。我有一个同事写了几个脚本,通过从正确的数据库中获取表名来实现这一点,但由于我们更改了服务器,它不再起作用了。我不确定发生了什么变化,所以我将在这里发布脚本,以防你能帮助我 第一件事是将这两个脚本放在/root文件夹中, 然后导航到数据所在的mysql数据库文件夹并运行: ls -1 | xargs -i /root/rename2.sh {} 重命名2.
ls -1 | xargs -i /root/rename2.sh {}
重命名2.sh:
force=`echo $1 | tr [:upper:] [:lower:]`
if [ -f $1 ];then
mv $1 $force
fi
#!/bin/sh
lower=`echo $1 | tr [:upper:] [:lower:]`
if [ -f $lower ];then
mv $lower $1
fi
之后,我必须运行另一个命令:
ls -1 ../<gooddb> | xargs -i /root/rename.sh {}
现在,当我运行第一个命令时,我得到一个错误:
: 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
即使我允许完全控制这两个文件。这看起来像是一行被覆盖的内容:
: not founde2.sh: 2: /root/rename2.sh:
可能涉及Windows行结束($'\r'
)吗?如何解析“seedoneat”?那是“SeeDonEat”还是“SeeDonEat”?无论如何,这是:];那么
将是一个问题-修复它,说成];然后
。。。