How do I bulk rename them so the date gets sent to the beginning of the filename instead?
Jesus Cornelius Christ I feel sorry for you trying to find a solution to what should just be a base-system Linux tool with even one or two GUI frontends to pick from. In fact
every DE file manager worth a shit should have a multiple-file rename option built in. I went down that road myself and just started banging my head when the only answers looked like this:
for i in foo* ; do echo mv -n "$i" $(echo "$i" | sed 's/\(.*\)\.\(20..-..-..\)$/\2-\1/' ) ; done
And this:
$ perl-rename 's/^(.*?)(-?)(.{15})(\.eml)$/$3 $2$1$4/' -- *
The only solution I have come up with so far is using an WinXP VM with a freeware program I picked up 20 years ago. I move the files I want to rename into the "shared" folder, run the program (which has every option I can think of) and rename the files and then move them back. It's an extra couple of steps but it works.
I had a similarly frustrating issue in the past trying to batch zip multiple files in Linux. In this case it was a collection of Sega Genesis ROMs in the .bin format that I wanted to to turn into .zip files. I read through all the MAN pages and tried every archive GUI I could find and all I could still do was either zip them individually by hand or zip them all into one big lump.
(power level ahead: showing my age) Finally I got sick of it and just wrote a QBASIC program in 5 minutes. *All file names below have been changed to be funnier*
1 $ ls >nigger.txt
2 [move nigger.txt to DOSBox folder]
3 DOSBox -> QBASIC /RUN ZIPPER.BAS
4 zipper.bas reads the directory list and outputs a Linux shell script, faggot.sh, writing a separate zip command for every file
5 [move faggot.sh back to Linux folder]
6 $ sh faggot.sh
7 ???
8
Profit! Success!
Like my multiple-file rename solution it may add extra steps but it just fucking works. RMS probably wouldn't approve for obvious reasons but I've been using these workarounds for years now. If anybody has anything better I am more than happy to hear it.