Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Need help to mass rename files Post 302415535 by Kingzy on Thursday 22nd of April 2010 09:46:47 PM
Old 04-22-2010
MySQL Thx a lot

Quote:
Originally Posted by bakunin
Will it be possible to merge your idea with this code?

Yes, of course:

Code:
for file in [0-9][0-9][0-9]-* ; do 
     if [ -f "${file#???-}" ] ; then
          print - "ERROR: file ${file#???-} already exists, leaving $file untouched"
     else
          mv "$file" "${file#???-}"
     fi
done

The code now cycles through the names of the original files (in each execution of the loop the variable "$file" holds one of these filenames), constructs the new name from it (the "${file##???-}"), tests if there is already a file named that way (the "if [ -f "${file##???-}" ]" means "if there is a file named whatever "${file##???-}" evaluates to) and prints an error message instead of copying it over with the second file.

You will have to manually rename the files left over this way.

I hope this helps.

bakunin
Hey Thx a lot. It worked as you said.

It left the 'same-filename' files untouched; then I renamed them accordingly. I was still afraid there would again be some kind of snafu with the 'same-filename' files but fortunately there wasn't.

You saved me hours of manual renaming Smilie Now backing all of it up before I lose everything.

Thx again
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Easy way to mass rename files?

Hi. What is the easiest way to rename a bunch of files? For example taking all files ending in ".php3" and rename them to end in ".php" I could write a script to do this, but there is probably an easier way... Thanks! (17 Replies)
Discussion started by: Thermopylae
17 Replies

2. UNIX for Dummies Questions & Answers

Mass Copy/rename

Don't tell me DOS can do something UNIX can't do! I want to copy a number of files from one directory to another, and at the same time change the names. The name changes would be common, e.g., all files starting with the letter 'L' and ending in '30.NEW554', with the copied or new files also... (6 Replies)
Discussion started by: lwilsonFG
6 Replies

3. Shell Programming and Scripting

Mass Change content in all files

Hi, Are there any sample scripts to change content like file paths, profile paths etc., from test version to production , instead of changing one by one, i would like to pass the in file (prod version/Test version) to convert to test or prod verions. any help is appreciated!! ~R (1 Reply)
Discussion started by: terala
1 Replies

4. AIX

VI questions : mass changes, mass delete and external insert

Is it possible in VI to do a global change but take the search patterns and the replacement patterns from an external file ? I have cases where I can have 100,200 or 300+ global changes to do. All the new records are inside a file and I must VI a work file to change all of them. Also, can... (1 Reply)
Discussion started by: Browser_ice
1 Replies

5. Shell Programming and Scripting

bash script to rename in mass

Basically, I have a huge amount of files (ripped audiobooks) that all have the same garbage in their filenames. I'm wondering how to go about writing a bash script to mass rename them. Example filenames as they stand now: The First CD - 1x01 - Title 1.mp3 The First CD - 1x02 - Title 2.mp3... (4 Replies)
Discussion started by: audiophile
4 Replies

6. Windows & DOS: Issues & Discussions

Windows mass copy files with same name in differnt folders

I have files existing with same names in the folders with date as display below c:\2010-09-10 <==== folder arr1.jpg arr2.jpg arr3.jpg arr4.jpg c:\2010-09-09 <==== folder arr1.jpg arr2.jpg c:\2010-09-08 <==== folder arr2.jpg arr3.jpg arr4.jpg ... (5 Replies)
Discussion started by: jville
5 Replies

7. Shell Programming and Scripting

mass renaming files with complex filenames

Hi, I've got files with names like this : _Some_Name_178_HD_.mp4 _Some_Name_-_496_Vost_SD_(720x400_XviD_MP3).avi Goffytofansub_Some name 483_HD.avi And iam trying to rename it with a regular pattern. My gola is this : Ep 178.mp4 Ep 496.avi Ep 483.avi I've tried using sed with... (8 Replies)
Discussion started by: VLaw
8 Replies

8. Programming

Minor editing of mass HTML files

Hello, I'm manipulating a batch of about 2,000 HTML files. I just need to make some small changes, but to all the files at once. For example, I want to delete the lines that have "embed_music" in all the files, or change all instances of the word "Paragraph" to "Absatz". This is my... (2 Replies)
Discussion started by: pxalpine
2 Replies

9. Shell Programming and Scripting

Rename mass files with text from first line

I have a few hundred text files that are currently numbered files. I would like to rename each one with the text from the first line in the file. I would prefer this is perl script rather than a one liner as it wil be after many alterations to the file via an existing script. Any help would be... (1 Reply)
Discussion started by: GWhizz
1 Replies

10. Shell Programming and Scripting

SBATCH trinity for multiple files and rename/move the output files

Hey guys, I have wrote the following script to apply a module named "trinity" on my files. (it takes two input files and spit a trinity.fasta as output) #!/bin/bash -l #SBATCH -p node #SBATCH -A <projectID> #SBATCH -n 16 #SBATCH -t 7-00:00:00 #SBATCH --mem=128GB #SBATCH --mail-type=ALL... (1 Reply)
Discussion started by: @man
1 Replies
INSTALL(1)						    BSD General Commands Manual 						INSTALL(1)

NAME
install -- install binaries SYNOPSIS
install [-bCcMpSsv] [-B suffix] [-f flags] [-g group] [-m mode] [-o owner] file1 file2 install [-bCcMpSsv] [-B suffix] [-f flags] [-g group] [-m mode] [-o owner] file1 ... fileN directory install -d [-v] [-g group] [-m mode] [-o owner] directory ... DESCRIPTION
The file(s) are copied to the target file or directory. If the destination is a directory, then the file is copied into directory with its original filename. If the target file already exists, it is either renamed to file.old if the -b option is given or overwritten if permis- sions allow. An alternate backup suffix may be specified via the -B option's argument. The options are as follows: -B suffix Use suffix as the backup suffix if -b is given. -b Back up any existing files before overwriting them by renaming them to file.old. See -B for specifying a different backup suffix. -C Copy the file. If the target file already exists and the files are the same, then don't change the modification time of the target. -c Copy the file. This is actually the default. The -c option is only included for backwards compatibility. -d Create directories. Missing parent directories are created as required. -f Specify the target's file flags; see chflags(1) for a list of possible flags and their meanings. -g Specify a group. A numeric GID is allowed. -M Disable all use of mmap(2). -m Specify an alternate mode. The default mode is set to rwxr-xr-x (0755). The specified mode may be either an octal or symbolic value; see chmod(1) for a description of possible mode values. -o Specify an owner. A numeric UID is allowed. -p Preserve the modification time. Copy the file, as if the -C (compare and copy) option is specified, except if the target file doesn't already exist or is different, then preserve the modification time of the file. -S Safe copy. Normally, install unlinks an existing target before installing the new file. With the -S flag a temporary file is used and then renamed to be the target. The reason this is safer is that if the copy or rename fails, the existing target is left untouched. -s install exec's the command strip(1) to strip binaries so that install can be portable over a large number of systems and binary types. -v Causes install to show when -C actually installs something. By default, install preserves all file flags, with the exception of the ``nodump'' flag. The install utility attempts to prevent moving a file onto itself. Installing /dev/null creates an empty file. DIAGNOSTICS
The install utility exits 0 on success, and 1 otherwise. FILES
INS@XXXX If either -S option is specified, or the -C or -p option is used in conjuction with the -s option, temporary files named INS@XXXX, where XXXX is decided by mkstemp(3), are created in the target directory. COMPATIBILITY
Historically install moved files by default. The default was changed to copy in FreeBSD 4.4. SEE ALSO
chflags(1), chgrp(1), chmod(1), cp(1), mv(1), strip(1), mmap(2), chown(8) HISTORY
The install utility appeared in 4.2BSD. BUGS
Temporary files may be left in the target directory if install exits abnormally. File flags cannot be set by fchflags(2) over a NFS file system. Other file systems do not have a concept of flags. install will only warn when flags could not be set on a file system that does not support them. install with -v falsely says a file is copied when -C snaps hard links. BSD
May 7, 2001 BSD
All times are GMT -4. The time now is 05:18 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy