使用Bash批量重命名

Bash如何重命名一系列包以删除其版本号?我一直在玩expr和%%,没有效果。

例子:

Xft2-2.1.13.pkg成为Xft2.pkg

jasper-1.900.1.pkg成为jasper.pkg

xorg-libXrandr-1.2.3.pkg成为xorg-libXrandr.pkg

你可以使用bash的参数扩展功能

for i in *.pkg ; do mv "$i" "${i/-[0-9.]*.pkg/.pkg}" ; done

对于带空格的文件名,需要引用。

http://stackoverflow.com/questions/602706/batch-renaming-with-bash

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:使用Bash批量重命名