I am using RHEL 5.10 and I am trying to remove dynamic date extension from a bunch of files.
The file format is like
filename01.gz.20160704
date
filename01.gz
rename gz.20160704 gz filename01.gz.20160704
filename01.gz
rename gz.* gz filename01.gz.20160704
rename 's/gz*/gz/' filename01.gz.20160704
rename 's/gz.*/gz/' filename01.gz.20160704
man
For example, given the files foo1, ..., foo9, foo10, ..., foo278, the commands
rename foo foo0 foo?
rename foo foo0 foo??
$> ls -ltr filename01*
-rw-rw----+ 1 foo foo 0 Jul 4 08:34 filename01.gz.20160704
$> rename -n 's/\.gz\.[^.]*/.gz/' filename01.gz.*
$> echo $?
0
$> ls -ltr filename01*
-rw-rw----+ 1 foo foo 0 Jul 4 08:34 filename01.gz.20160704
with prename
(perl-rename):
rename -n 's/\.gz\.[^.]*/.gz/' filename01.gz.*
with mv and a POSIX shell:
for f in *.gz.*; do mv "$f" "${f%.*}"; done