I don't know if you got a satisfactory response to your need yet, but I decided to try writing a script which did what you asked. I put the script on my web site at http://personalweb.sunset.net/~rreid/linux/rename_dashes_to_underlines.sh This script changes the dashes (-) to underlines (_) in directory and file names in the entire subdirectory tree from wherever you run it. If an invalid command line parameter is given (or try -h), a brief help screen will be displayed. More features could probably be added to this script, but it should do the trick for what you are looking for. HTH, and have a great year. On Sat, Dec 30, 2006 at 07:40:42AM -0500, Pawel Loba wrote: > Hello all. > I need to rename a number of directories (in the range of 1000) and all of > the mp3 files included in this directories (over 20000). What I want to > achieve > is to replace all of the dashes with underline sign. > Some time ago I found a script to rename files this way within a given > directory which looks as follows: > > for i in *.mp3; > do > mv "$i" `echo $i | tr "-" "_"`; > done > > This script works very well within a given directory but doesn't want to > work from the top directory witch actually includes this nearly 1000 > subdirectories. > As an example, I'm getting somthing like this: > mv: cannot move `./Kolakowski-Leszek-Klucz-niebieski/01-klucz-niebieski.mp3' > to `./Kolakowski_Leszek_Klucz_niebieski/01_klucz_niebieski.mp3': no such > file > or directory > > It was suggested to me to replace *.mp3 with `find . -name '*.mp3'` > But unfortunately, it did not work. > I'm not a programmer just a user who tries to be smart, so, please be > patient and treat me like a newbie. :-) > > hope all of you on here have a great new year. > Thanks, > Pawel. -- Ralph. N6BNO. Wisdom comes from central processing, not from I/O. rreid at sunset.net http://personalweb.sunset.net/~rreid ...passing through The City of Internet at the speed of light! COSEC (x) / SEC (x) = (COTAN (x) / TAN (x)) ^ 2