Linux重命名正则表达式。

3
我想将文件名 test123..-1.in、test123..-2.in 等重命名为 test123.in。
我尝试了以下命令:
rename -/d.in .in *.in,以及类似的许多命令,但都没有成功(您能解释一下为什么吗?)然后我尝试了 rename 's/.[0-9]*.in$/.in/' *.in,但结果相同。
有什么简单的方法来解决这个问题吗?我不想手动更改每个文件名。
感谢您的帮助。

2
你为什么想把每个文件都重命名为test123.in?执行结束后只会有一个文件。 - Gurupad Hegde
你是真的想要将文件重命名为相同的文件名(这没有意义),还是想要将几个文件合并成一个文件? - McVenco
不,我有很多测试文件,所以我写了test123...带点。它们实际上会像test12345-5、test12346-3、test12353-2等一样,我希望它们只是像test12345、test12346、test12353这样。 - Bartek Błazik
1个回答

1
您可以使用此rename
rename 's/\.+-\d+\././' test123..-*in

根据OP下面的评论:
rename 's/-\d+\.in/.in/' *.in

实际上这不是我想要的,但它向我展示了如何做到这一点,所以谢谢你 :) rename 's/-\d+.in/.in/' *.in - Bartek Błazik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接