我正在学习tcl(期待),现在我遇到了一个有趣的问题.我需要一个命令来移动/重命名一堆扩展名为.status的文件.我试过这些:
spawn /bin/mv *.status some_dir exec /bin/mv *.status some_dir
当然,这不起作用.我google了一下,发现了一些关于glob的东西,但它似乎不像我想要的那样工作.如果我做:
exec /bin/mv [glob *.status] somedir
mv抱怨'1.status 2.status 3.status ......等等'.不是有效的文件.就好像整个文件列表在一个字符串中连接而不是单独处理.
试图通过谷歌找到更多信息引导我到很多破碎和过时的链接,所以我希望旁边解决这个问题,你能指点我一些良好的在线资源tcl /期望基础和常见的陷阱.
更新:只接受在/ bin中使用标准tcl和标准工具的解决方案.
兰迪的答案简短而正确,但不需要使用执行官.约瑟夫的答案非常强大,但有点长.
对于我将使用的简短和惯用的答案(需要Tcl 8.5):
文件重命名{*} [glob*.status] some_dir