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
带空格的文件名需要引号。
关于bash - 使用 Bash 批量重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/602706/