Unix移动命令正则表达式

编程入门 行业动态 更新时间:2024-10-24 18:17:03
本文介绍了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移动命令正则表达式

本文发布于:2023-10-27 18:58:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1534259.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:命令   正则表达式   Unix

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!