Unix,Linux,FreeBSD - How to rename a list of files, replacing spaces inside their names Unix - How to rename a list of files, replacing spaces inside thir names, replace spaces in file names, remove empty space in file name
There are a few ways of renaming a list of files, replacing the spaces inside their names with underscore (_) or dashes (-) or whatever.
Here's the method I used:
1) The list of files from before replacement
# ls 07 . Paul Van Dyk feat. Rea Garvey - Let Go.mp3 08. Alex Gaudino - Watch Out (Radio Edit) www.MuzicaFm.net.mp3
2) The loop that does the replacement:
ls *.mp3 | sed 's/ /|/g' replaces spaces " " with pipes "|" in the output of ls command ( I choosed pipe because no file had in it's name's componence this special char) so that the for loop will take line by line, not word by word, separated by space. Next in the old variable it is set the name of the file (replacing the pipe back to space). Now that the old name of the file is set correctly, we move the file (mv "$old") to a new file called `echo $i | sed /s/|/_/g'`, meaninga new file that instead of pipe (|) it has underscore (_).
# for i in `ls *.mp3 | sed 's/ /|/g'` do old=`echo $i | sed 's/|/ /g'` new=`echo "$i" | sed 's/|/_/g'` mv -f "$old" "$new" done
Note: This method will not work on all filenames. If one of the files in the list contains a pipe (|) in it's name before running this command, then this file will most probably fail to be renamed so there would be 2 options: rename manually this file or not using the pipe as delimiter, but rather a combination of special chars, like "/|" or something similar that is very unprobably to be in the composition of an existing file.
3) The new list of files after they all've been renamed and spaces replaced with underscores
# ls 07_._Paul_Van_Dyk_feat._Rea_Garvey_-_Let_Go.mp3 08._Alex_Gaudino_-_Watch_Out_(Radio_Edit)_www.MuzicaFm.net.mp3
I've also tested this with ls|xargs, find -print|xargs and -J option but nothing worked like this method.
Designed and developed by Andrei Manescu. Optimized for Mozilla Firefox.
Copyright 2007 Andrei Manescu
All trademarks and copyrights on this page are owned by their respective owners. Comments are owned by those who posted them.