2012-07-06 69 views
0

我尝试使用下面的命令来利用我的当前工作目录中的所有文件:如何使用终端大写当前目录中的所有文件?

ls | awk '{system("svn mv " $0 " " toupper(substr($0,1,1)) substr($0,2))}' 

然而,我收到以下错误消息:

svn: '.' is not a working copy 
svn: '.' is not a working copy 
svn: '.' is not a working copy 
svn: '.' is not a working copy 

我在OSX。能否请你帮忙?提前致谢。

+0

您是否尝试过手动执行其中一个'svn'命令以查看它是否有效? 'svn info'在那个目录下工作吗? – 2012-07-13 23:16:01

回答

0

你不应该在脚本中使用ls,ls是用于数据的人类表示(并且会让你的脚本具有空间名称,特殊文件夹如。和..等等......),请尝试:

for f in *;do;svn mv $f $(echo $f| tr '[a-z]' '[A-Z]');done 

See here for other case conversions alternatives,我用TR,因为这里不需要AWK。

相关问题