Sponsored Content
Full Discussion: Script to rename directories
Top Forums UNIX for Dummies Questions & Answers Script to rename directories Post 302633393 by jim mcnamara on Tuesday 1st of May 2012 11:24:43 PM
Old 05-02-2012
Your script can rename:./path/to/a/lower/directory/bob
to just plain ./peter.
Code:
find . -type d -name bob |
while read dname
do
   dir=$(dirname $dname)
   mv $dname ${dir}/peter
done

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Rename files/directories based on their name

i have hundreds of directories that have to be renamed. the directory structure is fairly uniform which makes the scripting a little simpler. suppose i have many directories like this */*/*/*abc* (in other words i have similar directory names 3 dirs deep that all contain the pattern abc in... (8 Replies)
Discussion started by: quantumechanix
8 Replies

2. 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

3. Shell Programming and Scripting

Script for parsing directories one level and finding directories older than n days

Hello all, Here's the deal...I have one directory with many subdirs and files. What I want to find out is who is keeping old files and directories...say files and dirs that they didn't use since a number of n days, only one level under the initial dir. Output to a file. A script for... (5 Replies)
Discussion started by: ejianu
5 Replies

4. Shell Programming and Scripting

bash script to rename multiple directories

Hello I have a directory structure with year in format 4 digits, e.g 2009, below which is month format 1 or 2 digits, e.g 1 or 12, blow which is day format 1 or 2 digits, e.g 1 or 31. I want to change the names of lots of directories to the be Year - 4 digits , e.g 2009 - No change here... (4 Replies)
Discussion started by: garethsays
4 Replies

5. 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

6. Shell Programming and Scripting

Recursively rename directories

I have this directory tree under /apps/myapp/data: imageshack.us/photo/my-images/703/foldersc.png How to recursively rename ONLY directories with 5 digits (00000, 00100, 00200,..., 00007, 00107,...)? I want to add to their name two more zeros: Before: 00107 After: 0000107 Thanks in... (2 Replies)
Discussion started by: Susan_45
2 Replies

7. 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

8. Shell Programming and Scripting

Find directories with same name and rename them

Hello Im trying to make a script in bash shell programming to find subdirectories with the same name into the same directory and rename one of them!! Could you please help me? Thanks in advance (1 Reply)
Discussion started by: BTKBaaMMM
1 Replies

9. 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

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
rename(2)							System Calls Manual							 rename(2)

Name
       rename - change the name of a file

Syntax
       rename(from, to)
       char *from, *to;

Description
       The system call causes the link named from to be renamed to.  If to exists, then it is first removed.  Both from and to must be of the same
       type (that is, both directories or both nondirectories) and must reside on the same file system.

       The system call guarantees that an instance of to will always exist, even if the system should crash in the middle of the operation.

Return Values
       A zero (0) value is returned if the operation succeeds. Otherwise returns -1, and the global variable errno indicates the  reason  for  the
       failure.

Restrictions
       The system can deadlock if a loop in the file system graph is present.and two processes issue the call at the same time.  For example, sup-
       pose a directory, contains a file, Suppose that file is hard-linked to a directory, and the directory contains a file, If is hard-linked to
       a loop exists.  Now suppose one process issues the following call:
       rename (dirname/filename secondir/secondfile)
       At the same time, another process issues the following call:
       rename (secondir/secondfile dirname/filename)
       In this case, the system can deadlock.  The system administrator should replace hard links to directories with symbolic links.

Diagnostics
       The system call fails and neither of the argument files are affected under the following conditions:

       [ENOTDIR]      A component of either path prefix is not a directory.

       [ENOENT]       A component of the from path does not exist, or a path prefix of to does not exist.

       [ENOENT]       Either from or to points to an empty string and the environment defined is POSIX or SYSTEM_FIVE.

       [EACCES]       A component of either path prefix denies search permission.

       [EPERM]	      The  to  file exists, the directory containing from is marked sticky, and neither the containing directory nor the to direc-
		      tory is owned by the effective user ID.

       [EPERM]	      The directory containing from is marked sticky, and neither the containing directory nor the from directory is owned by  the
		      effective user ID.

       [EXDEV]	      The  link named by to and the file named by from are on different logical devices (file systems).  Note that this error code
		      is not returned if the implementation permits cross-device links.

       [EACCES]       The requested link requires writing in a directory with a mode that denies write permission.

       [EROFS]	      The requested link requires writing in a directory on a read-only file system.

       [EFAULT]       The path points outside the process's allocated address space.

       [EINVAL]       The from is a parent directory of to, or an attempt is made to rename dot (.) or dot-dot (..).

       [ENAMETOOLONG] A component of either pathname exceeded 255 characters, or the entire length of either pathname exceeded 1023 characters.

       [ELOOP]	      Too many symbolic links were encountered in translating either pathname.

       [ENOTDIR]      The from is a directory, but to is not a directory.

       [EISDIR]       The to is a directory, but from is not a directory.

       [ENOSPC]       The directory in which the entry for the new name is being placed cannot be extended, because there is no space left on  the
		      file system containing the directory.

       [EDQUOT]       The  directory  in  which  the  entry  for the new name is being placed cannot be extended, because the user's quota of disk
		      blocks on the file system containing the directory has been exhausted.

       [EIO]	      An I/O error occurred while making or updating a directory entry.

       [ENOTEMPTY]    The to is a directory and is not empty.

       [EBUSY]	      The directory named by from or to is a mount point.

See Also
       open(2)

																	 rename(2)
All times are GMT -4. The time now is 09:35 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy