现在有多个’*******-1.0.0-SNAPSHOT.jar‘这样的文件名我需要删除’-1.0.0-SNAPSHOT‘ 保留前面的文件和.jar 类似与’api-1.0.0-SNAPSHOT.jar‘改为’api.jar‘我用rename无法修改-
for var in *.jar; do mv "$var" "${var%-1.0.0-SNAPSHOT.jar}.jar"; done
这条命令可以完成,谢谢各位
使用mv 命令进行修改
命令格式:
mv 旧文件名称 新文件名称
下面是用正则表达式的一种批量替换方法,我在我本地尝试了是可以的
#!/bin/sh
for file in `ls | grep 0.0.1-SNAPSHOT.jar`
do
newfile=`echo $file | sed 's/\([a-z]\+\)-0\.0\.1-SNAPSHOT\(\.jar\)/\1\2/'`
mv $file $newfile
done
直接用rename就可以
试试这个
rename "s/-1.0.0-SNAPSHOT//" * //