本文介绍了Unix移动命令正则表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一堆格式的文件
blahblah1.java.bak , blahblah2.java.bak 等.
我想将所有以 .bak 结尾的文件更改为 .java .是否可以使用 mv 命令执行此操作?也许像 mv(.* \.java)\.bak $ 1 这样的东西?
And I want to change all the files ending with .bak to just .java. Is it possible to do this using the mv command? Perhaps something like mv (.*\.java)\.bak $1?
推荐答案出了什么问题
for i in *java.bak ; do mv "$i" `basename "$i" .bak` ; done或
for i in *java.bak ; do mv "$i" "${i%.bak}" ; done(如果您正在bash中).命令行文件匹配与bash中的Perl或 =〜比较中的正则表达式并不完全相同,因此您无法捕获组.注意区别:例如, * 和.的含义非常不同.
if you are in bash. Command line file matching is not exactly the same as a regex in, say, Perl or =~ comparison in bash and you cannot capture a group. Note the differences: for example, * and . have a very different meaning.
更多推荐
Unix移动命令正则表达式
发布评论