Spyke
opensource·Open SourcebyzShxck

Is there a way to rename a lot of files on a progressive way?

I have 291 episodes named tv.show.01.mp4 to tv.show.291.mp4 and i want rename them to be named like Tv Show Episode S01E01.mp4. I use Linux so please suggest only FOSS compatible programs

View original on lemmy.ml

You can take a look at "sonarr", it's made for managing your tv-shows and it can automatic rename and organize your files, with customizable naming schem.

4

This can be done natively in Thunar if you happen to use XFCE.

2

There must be a million utilities to do this (try searching "linux mass rename"), including ones that allow you to rename media files based on their metadata... each works in different ways, so you'll have to look yourself for one that fits you (personally, I like the ones who open a text editor with the file names and you just edit them).

If you use KDE (DK about other environments) and only need a progressive counter, the simplest way is just select the files in dolphin, hit F2 and enter a pattern like "Tv Show Episode S01E##.mp4".

(of course you can also write a script to rename the files, but I guess you wouldn't have asked if you were prepared to do so)

2
lemmy.fmhy.ml

Please don't use spaces in your *nix filenames, that is just bad. To answer your question, use a bash script. Chatgpt can probably even make it for you if you don't know how to write it.

2

If you want to use spaces in filenames, it's a good reason to write in something other than shell; although modern shells can be made to work with spaces in filenames safely, it's still fiddly.

1

I know but jellyfin suggest to use that type of nomenclature so...

1
lemmy.ml

Why not just do this with a for loop in the terminal? I don’t think you need to over complicate it by downloading another program.

1

If I was able to do that i would not have asked here lol

3

If the names don't have any break for seasons, or the name of the episode, I think it's going to take a couple steps. Renaming is easy, but you're adding info that's not in the name. I can only suggest trying something like tvnamer, or search for a similar project.

1

Dolphin has that ability built in. If you use it, highlight all of the episodes and press f2. Pretty self explanatory from there.

1

I might have messed something up but I think you should be able to take it from here:

function split_season() { 
  S=$((($1-1)/$2))
  E=$(($1-$S*$2))
  printf "S%02dE%02d" $(($S+1)) $E  
}

EPISODES_PER_SEASON=15

for f in tv.show.*.mp4; do
  NUMBER=`echo $f|sed 's/[^[:digit:]]*\([[:digit:]]*\).mp4/\1/'`
  #maybe put echo at the beginning of the next line to test before moving?
  mv "$f" "Tv Show $(split_season $NUMBER $EPISODES_PER_SEASON).mp4"
done
1

There are various GUI tools (eg., gprename, krename) but I prefer qmv, a CLI tool from the renameutils package. It opens filenames into a vim (or your default editor) session, with which you can use global regex search/replace commands to rename files.

1

You reached the end

Is there a way to rename a lot of files on a progressive way? | Spyke