How can Bash rename a series of packages to remove their version numbers? I've been toying around with both expr
and %%
, to no avail.
Examples:
Xft2-2.1.13.pkg
becomes Xft2.pkg
jasper-1.900.1.pkg
becomes jasper.pkg
xorg-libXrandr-1.2.3.pkg
becomes xorg-libXrandr.pkg
You could use bash's parameter expansion feature
for i in ./*.pkg ; do mv "$i" "${i/-[0-9.]*.pkg/.pkg}" ; done
Quotes are needed for filenames with spaces.