使用bash删除名称的最后四个字符

使用bash删除名称的最后四个字符,bash,filenames,Bash,Filenames,我有一个满是文件的目录,所有文件的扩展名都是*.gz。 这颗星实际上是一颗星星,而不是一个占位符。我错误地生成了这些名称,并且没有使用gz进行压缩。 如何删除最后四个字符,包括带有bash的星星 for f in *'*.gz' do mv "$f" "${f%?.gz}" done

我有一个满是文件的目录,所有文件的扩展名都是*.gz。 这颗星实际上是一颗星星,而不是一个占位符。我错误地生成了这些名称,并且没有使用gz进行压缩。 如何删除最后四个字符,包括带有bash的星星

for f in *'*.gz'
do
  mv "$f" "${f%?.gz}"
done