Find & Replace
Gustav H Meyer
gustav at gcis.gov.za
Tue Feb 21 06:45:34 UTC 2006
Hi Dave,
On 21/02/06 01:15, Dave wrote:
> Is there a bash command (similar to awk) that would allow me to search
> out all the spaces in my file names and replace them with underscores
> (recursive from home folder)? Or perhaps one of you already has a
> script that could help with this task? I have Googled this a number of
> times and feel like I have exhausted all other avenues, even a point in
> the right direction would be greatly appreciated. Additionally I would
> like confirmation that what I'm trying to do won't cause problems, most
> of the files I want renamed are music and picture files.
I thought of writing the steps myself but Marnus van Niekerk at
http://www.linux.org.za/Lists-Archives/glug-tech-0507/msg00003.html
wrote the following on Sun, 16 Oct 2005 23:08:17 +0200 (SAST):
> You could do it in a couple of steps with something like:
>
> find /mnt/hd -print | grep " " > /tmp/list1 #find files with spaces
> sed 's/ /_/g' /tmp/list11 > /tmp/list2 #second file with spaces replaced with _
> sed -i 's/^/"/' /tmp/list1; sed -i 's/$/"/' /tmp/list1 # Quote filenames with spaces
> paste /tmp/list1 /tmp/list2 > /tmp/list3 # append lines from list2 to list1
> sed -i 's/^/mv /' /tmp/list3 # add mv to beginning of every line
>
> Now you have a file in /tmp (list3) that contain all the mv commands to rename your files...
>
> Check that it looks good and then simply do "sh /tmp/list3"
Regards,
Gustav H Meyer
More information about the kubuntu-users
mailing list