Bash 如何重命名数字文件的Pyramid
我的Linux机器上有1000多个文件:Bash 如何重命名数字文件的Pyramid,bash,Bash,我的Linux机器上有1000多个文件: somefiletest001.DAT_999 somefiletest001.DAT_1000 somefiletest001.DAT_1000_1001 somefiletest001.DAT_1000_1001_1002 somefiletest001.DAT_1000_1001_1002_1003 我想知道如何将它们重命名为: somefiletest001.DAT_999 somefiletest001.DAT_1000 somefilete
somefiletest001.DAT_999
somefiletest001.DAT_1000
somefiletest001.DAT_1000_1001
somefiletest001.DAT_1000_1001_1002
somefiletest001.DAT_1000_1001_1002_1003
我想知道如何将它们重命名为:
somefiletest001.DAT_999
somefiletest001.DAT_1000
somefiletest001.DAT_1001
somefiletest001.DAT_1002
somefiletest001.DAT_1003
我可以一次一个接一个地执行mv命令。有人能告诉我如何做一个简单的bash脚本来重命名这类文件吗?感谢您的帮助。使用
prename
(Perl重命名)命令:
你能告诉我们你试过什么吗?怎么可能?您是否已超过文件名的最大长度?文件名1000将超过5000个字符长。@Inian-我不是Linux用户,我只是想让我的生活更简单。执行
mv somefilenametst001.DAT_1000_1002_1003 somefilenametst001.DAT_1003
命令每个文件都需要时间,我可以将它们放入一个文件中,粘贴每个文件,然后稍后运行。希望你能理解我说的话和我想要实现的目标。谢谢,谢谢@罗曼佩雷赫里斯特。它很有魅力。我必须做man-prename
才能知道我在做什么。再次感谢您的快速帮助。
prename 's/\.DAT(_.*)?(_[0-9]{4})$/.DAT$2/' *.DAT_*