You can do this with the rename
command line utility. To do what you want you need a simple regular expression:
rename "s/.+_/ds/g"
files
.+
represents everything up to (in this context) the last underscore (_
) character (so this works with multiple underscores, as mentioned in your first example). This requires that there be at least one character before the underscore; if you might have file names like _20131012.zip
, use .*
instead. So this three-character string (.+_
or .*_
) will match everything up to and including the last underscore in the filename. s/old/new/
means substitute the new string (ds
) for the old string. The g
means global and might not be necessary in this case.