【发布时间】:2017-10-31 22:07:04
【问题描述】:
我在 windows 7 下使用 cygwin。 在我的目录中有像
这样的文件fort.100
fort.101
...
fort.1xx
我想给他们一个扩展名_v1。
当我尝试使用rename by
rename 's/$/_v1/' fort.*
提示退出,没有错误并且没有任何反应。 然后我尝试了
rename -e 's/$/_v1/' fort.*,弹出错误,rename: unknown option -- e
我还尝试使用不同的分隔符 @ 而不是 /,但没有成功。
现在,我认为这是由于表达式中的字符_(我是regex 的新手),我尝试通过\_ 转义它,但也没有运气。再次尝试不使用_,例如,
rename 's/$/v11/' fort.* - 什么也没有发生。
虽然我通过
实现了我的目标for file in fort.*; do mv $file $file\_v1; done,我想知道为什么rename 不起作用。
我在这里做错了什么?是因为我在cygwin吗?
【问题讨论】:
-
试试
rename -E 's/$/_v1/' fort.* -
@WiktorStribiżew 不起作用,退出并出现错误
rename: unknown option -- E。 -
如果你做一个
man rename,它是一个busybox light版本的二进制还是原来的binay? -
@Esteban 这不是一个busybox light版本。
rename from util-linux 2.25.2据我所知,它与 util-linux 一样。从标准 cygwin 存储库下载并编译。
标签: regex cygwin rename file-rename