Renaming multiple files

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Renaming multiple files
# 8  
Old 01-12-2009
Here is a script to replace spaces with underscore of all files in a directory.
You should be able to edit this to do what you want.
#! /bin/bash
# Substitutes underscores for blanks in all the filenames in a directory.

ONE=1                     # For getting singular/plural right (see below).
number=0                  # Keeps track of how many files actually renamed.
FOUND=0                   # Successful return value.

for filename in *         #Traverse all files in directory.
     echo "$filename" | grep -q " "         #  Check whether filename
     if [ $? -eq $FOUND ]                   #+ contains space(s).
       fname=$filename                      # Yes, this filename needs work.
       n=`echo $fname | sed -e "s/ /_/g"`   # Substitute underscore for blank.
       mv "$fname" "$n"                     # Do the actual renaming.
       let "number += 1"

if [ "$number" -eq "$ONE" ]                 # For correct grammar.
 echo "$number file renamed."
 echo "$number files renamed."

exit 0

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Renaming multiple files in sftp server in a get files script

Hi, In sftp script to get files, I have to rename all the files which I am picking. Rename command does not work here. Is there any way to do this? I am using #!/bin/ksh For eg: sftp user@host <<EOF cd /path get *.txt rename *.txt *.txt.done ... (7 Replies)
Discussion started by: jhilmil
7 Replies

2. UNIX for Dummies Questions & Answers

Renaming Multiple files

Hello, I have multiple files that I want to change the names to. Let's say for example that I want to rename all the files in the left column to the names in the right column: What would be the easiest way to go about doing this? Thanks. (1 Reply)
Discussion started by: Scatterbrain26
1 Replies

3. Shell Programming and Scripting

Renaming multiple files

I have 34 file in a directory that all have different names, however, they do have 1 pattern in commmon. They all have "-10-11-2010" date format in the name. I want to replace the date in the file name with a supplied date or maybe even the system date. I am sure I will be using awk or sed to... (9 Replies)
Discussion started by: Harleyrci
9 Replies

4. UNIX for Dummies Questions & Answers

Renaming multiple files

Hi, Can we rename multiples files using find or awk utility? Now I am doing it using for loop and getting the file name and in side the loop using the mv command. Like ine need t rename all txt files to doc file. For example a1.txt => a1.doc a2.txt => a2.doc a3.txt => a3.doc myfile.txt... (2 Replies)
Discussion started by: siba.s.nayak
2 Replies

5. UNIX for Dummies Questions & Answers

Renaming multiple files

I have multiple gif files in a directory with different names. How can i rename them to have this result: file01.gif file02.gif file03.gif . . . file0500.gif Thanks for your help. (3 Replies)
Discussion started by: netx
3 Replies

6. Shell Programming and Scripting

renaming multiple files

I have to rename 100+ files at a time on the server & was trying to use a script for doing that. I have used ultra edit to create a file having current filename & new file name as below file234.txt | file956.txt file687.txt | file385.txt There is no fixed pattern while renaming & would... (20 Replies)
Discussion started by: crux123
20 Replies

7. Shell Programming and Scripting

Renaming multiple files

I have a bunch of files txt1.csv--2008 thru to txt3.csv--2008. If i wanted to rename these files all at the same time to txt*.csv-2008 what would be the best way to do it... Just need to get rid of the extra - in each file name.. not all files are going to be called txt*.csv--2008. Just... (6 Replies)
Discussion started by: Jazmania
6 Replies

8. UNIX for Dummies Questions & Answers

Renaming Multiple files

Hi All my dear friends I had multiple files in my directory with .pcv and .sqv extn I want to rename all .pcv files with .pc extn and all .sqv files with .sql extn Please help me out.:eek::mad::rolleyes: e.g. /trimsbld/users/dhirens/scripts/newfolder==>ll -rt total 2856 -rwxr-xr-x 1... (2 Replies)
Discussion started by: dhiren_shah
2 Replies

9. Shell Programming and Scripting

Renaming multiple files

Can someone please tell me how I can rename a bunch of files at a time. I hava a directory that has 700+ files that are named *.xyz and I would like to rename them to *.abc . How can I do that with a simple command ? mv *.xyz *.abc did not work. Thanks in advance (4 Replies)
Discussion started by: jxh461
4 Replies

10. UNIX for Dummies Questions & Answers

renaming multiple files

Hi to everyone!!. Here's my stupid question of the day. When I have to rename a file I use "mv filename newfilename". But what about renaming multiple files, for example if I want to add the prefix "old" to several image files (in fact it's what I wanted to do..). Thanks in advance.... :D (6 Replies)
Discussion started by: piltrafa
6 Replies
Login or Register to Ask a Question
RECEIVE(1)						      General Commands Manual							RECEIVE(1)

receive - receive files from the sendfile spool SYNOPSIS
receive [ -d ] [ -r ] [ -k ] [ -P ] [ -S ] [ -Z spool ] [ -q ] [ -ffrom ] file [...] receive -n [ -d ] [ -r ] [ -k ] [ -P ] [ -S ] [ -Z spool ] [ -q ] file-number [...] receive [ -s ] [ -l ] [ -L ] [ -R ] [ -ffrom ] receive -b user[@host] [ -k ] [ -f"from" ] file [...] receive -b user[@host] [ -k ] [ -f"from" ] -n file-number [...] receive -b user[@host] [ -k ] -a DESCRIPTION
receive files from the sendfile spool which has been sent to you. If there is already a file with the same name you will be prompted for overwriting or renaming. Allowed wildcards in file names are: * ? [abc] [^abc] CAUTION: you have to put wildcards and other special characters in '' quotes to hide them for interpretation by your shell. OPTIONS
-n receive file number(s) -d delete instead of receive -a receive (or delete or bounce) all files -r rename before receiving -k keep files in spool after receiving -P pipe files to stdout -S receive only pgp-signed files -s list files in short format -l list files -L list files and look inside archives, too -R renumber files in spool -b bounce (forward) files to another recipient -q quiet mode: no questions asked -fuser all actions refer only to files from this user -Z spool specify an alternate spool directory EXAMPLES
receive -L list all files in long format. receive 'blubb*' receive all files starting with string "blubb". receive -daf delete all files from sites. receive -b framstag@bofh '*.jpg' bounce all *.jpg-files to framstag@bofh. FILES
/var/spool/sendfile The sendfile spool directory. /var/spool/sendfile/$USER/log A log of the last transfers. /etc/sendfile.deny Users which are not allowed to receive files or messages (set by root). SEE ALSO
sendfile(1). AUTHOR
Ulli Horlacher - 3rd Berkeley Distribution RECEIVE(1)