Sponsored Content
Top Forums Shell Programming and Scripting Rename files/directories based on their name Post 37646 by criglerj on Tuesday 24th of June 2003 01:20:44 PM
Old 06-24-2003
You're only renaming directories, so the -type d option for find is a boon. Also, if you really have "hundreds of directories," it's just possible that there are so many that glob to "*abc*' that the shell can't handle the command line. When this is true, I try to use something like this untested code:
Code:
find . -type d -name '*abc*' | while read pn; do
    dn=`dirname "$pn"`
    mv "$pn" "$dn/xyz"
done

(Thanks to oombera for the `dirname "$dn"` bit. Somehow I keep forgetting about that ...)

Part of your problem might be filenames that contain spaces --- common on "modern" Windows boxes and not unheard of on Unices --- so I put in an extra statement and some more quotes. If this is guaranteed not to be part of your problem, all the "double quotes" can come out.

You should also really carefully consider the other posters' cautions about duplicate file names, too.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Rename files recursivly in specified directories

Hi, This is what I would like to do. 1. Find all directories named "ByHost" in a specified directory 2. Rename all .plist files inside "ByHost" directories This is the way I have been able to do it so far. #!/bin/sh # # Rename ByHost files # # Thomas Berglund, 13.07.08 # Get the... (2 Replies)
Discussion started by: Thomas Berglund
2 Replies

2. Shell Programming and Scripting

rename files Ax based on strings found in files Bx

Hi, I'm not very experienced in shell scripting and that's probably why I came across the following problem: I do have several hundred pairs of text files (PF00x.spl and PF00x.shd) where the first file (PF00x.spl) needs to be renamed according a string that is included in the second file... (12 Replies)
Discussion started by: inCH
12 Replies

3. Shell Programming and Scripting

Rename files and directories with special characters

Hello guys, I was looking for a shell script that removes all the special characters from the files and the subdirectories recursively. I could not locate it any more. Dose any body have a similar script that dose that? Thanks for the help. AV (0 Replies)
Discussion started by: avatar_007
0 Replies

4. Shell Programming and Scripting

Rename files in sub directories with sequential numbers

I can rename a file with sequential numbers from 1 to N with this script: num=1 for file in *.dat;do mv "$file" "$(printf "%u" $num).txt" let num=num+1 done The script begins with renaming a some.dat file to 1.dat.txt and goes on sequentially renaming other DAT files to... (1 Reply)
Discussion started by: shoaibjameel123
1 Replies

5. UNIX for Dummies Questions & Answers

rename files based on their respective directory name

I have a number of files in directories labeled like this: /Data/tr_gray/tr_DTI/dti_FA.nii.gz (the brackets here represent a range of number that the files are labeled with) I need to rename each dti_FA.nii.gz file according to the name of the folder it resides in. For example, the file ... (3 Replies)
Discussion started by: tk0034
3 Replies

6. Shell Programming and Scripting

Rename the files in all the directories and sub-directories

Hi all, I have more than 12000 files in 46 different directories and each directory has 2 sub-directories named “dat” or “gridded”. Dat sub-directories have files with extension “jpg.dat” and gridded sub-directories have files with extension “.jpg”. I need to... (1 Reply)
Discussion started by: AshwaniSharma09
1 Replies

7. UNIX for Dummies Questions & Answers

Rename files based on a list

Hi, I have a directory with a lot of files like this: a.bam b.bam c.bam I like to rename these files based on a list where the name of the files in the first column will be replasced by the names in the second column. Here is my list which is a tab-delimited text file: a x b y c ... (4 Replies)
Discussion started by: a_bahreini
4 Replies

8. Shell Programming and Scripting

Rename files based on name in text file

Hello, I have a text file "file.list" with the contents below. file1 filename1 file2 filename2 file3 filename3 file1, file2 and file3 are files existing in the same directory as the text file file.list. I want to rename file1 to filename1, file2 to filename2, as show in the text... (1 Reply)
Discussion started by: james2009
1 Replies

9. UNIX for Beginners Questions & Answers

Rename files based on simple text file

Hello! New here although not completely new to Unix. I wonder how I could rename files based on the data found in a simple textfile. It goes like this: I have 4 files 1 ldfgkkfjslkdfjsldkfjsf.wav 2 nndsdflksdjf.wav 3 sdflksjdf jjsdflsdfl.wav 4 dkadsdddd.wav Textfile.txt looks like... (14 Replies)
Discussion started by: Oortone
14 Replies

10. Shell Programming and Scripting

Rename files from multiple directories along with directory indicator

Hi, Friends, i have a requirement where i need to rename my files residing in multiple sub directories and move them to one different directory along with some kind of directory indicator. For eg: test--is my parent directory and it has many files such as a1.txt a2.txt a3.txt ... (5 Replies)
Discussion started by: gnnsprapa
5 Replies
uuaids(8c)																uuaids(8c)

Name
       uucompact, uumkspool, uurespool, uupoll - uucp utilities

Syntax
       uucompact -ssystem
       uumkspool system ...
       uurespool [ -t# ]
       uupoll system ...

Description
       All of the commands are located in

       The  command  compacts  uucp  system spool directories and associated subdirectories. If system is ALL, then all existing uucp system spool
       directories are compacted.  Otherwise, only the specified system spool directory is compacted.  If no system is	specified,  is	compacted.
       If  is stopped before it is finished, it can be restarted without reprocessing directories.  The command continues processing where it left
       off during it's previous instantiation.

       The command makes a per system spool directory and associated subdirectories for each of the specified systems.	For example, if system	is
       mk3 and if the local system name is penny, the following directories are created:
	       /usr/spool/uucp/sys/mk3
	       /usr/spool/uucp/sys/mk3/C.
	       /usr/spool/uucp/sys/mk3/X.
	       /usr/spool/uucp/sys/mk3/D.
	       /usr/spool/uucp/sys/mk3/D.penny
	       /usr/spool/uucp/sys/mk3/D.penny
       The  command  moves files from old spool directories to	new spool directories.	Because the structure of the spool directories has changed
       from older versions of it is necessary to respool old spooled files to new spool directories in at least two instances:

       o    When installing the current version of

       o    When creating a new system spool directory for each system.

       In the latter case, it is necessary to move files from to the new spool directories.  To ease this task, moves files that have been spooled
       in  one	of 4 formats and respools them under the new spooling structure.  The format is specified by the -t# option, where the number sign
       (#) can be any one of the following:

       o   Original spool - All files are in

       o   Split spool - Contains the subdirectories

       o   Modified split spool -  Contains all subdirectories listed in split spool, and

       o   Used when a new system directory has been created and spool files must be moved from the DEFAULT directory to the new system directory.

       The command forces a connect attempt to the named systems even if recent attempts have failed, but not if the file prohibits the call.  For
       example, the file will prohibit the call if it is the wrong time of day.  Thus, the should be monitored for messages about the connection.

Files
       Spool directory

       Logfile

See Also
       mail(1), uucp(1c), uux(1c)

																	uuaids(8c)
All times are GMT -4. The time now is 05:17 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy