11-21-2009
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
Month 4 digi year, underscore, 2 digit month - e.g 2009_10 for October 2009
Day 4 digi year, underscore, 2 digit month, underscore, 2 digit day - e.g 2009_10_31 for 31st October 2009
Some files already have the new naming structure so there must be a check before renaming somehow. there are files within the day directories which should be unchanged.
So far I thought to use the find -d command to check for directories and check for directories named with only a single character and place a zero at the start of the name.
How do I check how many characters are in the directory name?
And after that I got kind of lost......any bored script writers out there?
Thanks in advance people
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I'm working on a project that basically unzips three zip files.
When these unzip they create about 70+ directories with subdirectories of year/month with about 3 to 9 pdf files in each directory.
Basically, I'm needing to figure out a way to zip these pdf files up.
for instance the script... (1 Reply)
Discussion started by: Aixia
1 Replies
2. Shell Programming and Scripting
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
3. UNIX for Dummies Questions & Answers
Hi.
I don't have any experience with making scripts in bash. I need a simple script to rename all files in a folder to the format file1.avi, file2.avi, file3.avi, and so on.....
Please note that the original files have different filenames and different extensions. But they all need to be... (2 Replies)
Discussion started by: dranzer
2 Replies
4. UNIX for Dummies Questions & Answers
Dear friends,
I have created a script to rename all files in a directory by appending the file name with username (who created the file), the date it was created. For example, "apple.doc" should be renamed to "johnFeb23apple.doc" where "john" is the owner and "Feb23" is file created date. It... (4 Replies)
Discussion started by: djsnifer
4 Replies
5. UNIX for Dummies Questions & Answers
I am trying to create a script that will search for a directory named bob, and then rename that directory to peter. I do not want the directory path to change.
so /folders/bob
would become /folders/peter
It seems to be renaming the bob folder to peter correctly, but the peter folder ends... (2 Replies)
Discussion started by: gumby456m
2 Replies
6. Shell Programming and Scripting
HI,
I have a file serverlist in that all host names are placed.
i have written a small script
#./testping
#! /bin/bash
for i in `cat serverlist`
do
ping $i >> output.txt
done
so now it creates a file output.txt till here fine..
now each time i run this script the output file... (4 Replies)
Discussion started by: madhudeva
4 Replies
7. UNIX for Dummies Questions & Answers
Hi,
I want to rename several files like this:
example:
A0805120817.BHN
A0805120818.BHN
.....
to:
20120817.0805.N
20120818.0805.N
......
How can i do this via terminal or in shell bash script ?
thanks, (6 Replies)
Discussion started by: pintolcv
6 Replies
8. Shell Programming and Scripting
I am trying to merge or combine all $1 values in validation.txt from multiple directories into one new file and output it here tab-delimited:/home/cmccabe/Desktop/20x/total/total.txt. Each $2 value and the header would then be a new field in total.txt. I am not sure how to go about this as cat is... (2 Replies)
Discussion started by: cmccabe
2 Replies
9. Shell Programming and Scripting
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
LEARN ABOUT DEBIAN
shtool-mdate
SHTOOL-MDATE.TMP(1) GNU Portable Shell Tool SHTOOL-MDATE.TMP(1)
NAME
shtool-mdate - GNU shtool pretty-print last modification time
SYNOPSIS
shtool mdate [-n|--newline] [-z|--zero] [-s|--shorten] [-d|--digits] [-f|--field-sep str] [-o|--order spec] path
DESCRIPTION
This command pretty-prints the last modification time of a given file or directory path, while still allowing one to specify the format of
the date to display.
OPTIONS
The following command line options are available.
-n, --newline
By default, output is written to stdout followed by a "newline" (ASCII character 0x0a). If option -n is used, this newline character is
omitted.
-z, --zero
Pads numeric day and numeric month with a leading zero. Default is to have variable width.
-s, --shorten
Shortens the name of the month to a english three character abbreviation. Default is full english name. This option is silently ignored
when combined with -d.
-d, --digits
Use digits for month. Default is to use a english name.
-f, --field-sep str
Field separator string between the day month year tripple. Default is a single space character.
-o, --order spec
Specifies order of the day month year elements within the tripple. Each element represented as a single character out of ``"d"'',
``"m"'' and ``"y"''. The default for spec is ``"dmy"''.
EXAMPLE
# shell script
shtool mdate -n /
shtool mdate -f '/' -z -d -o ymd foo.txt
shtool mdate -f '-' -s foo.txt
HISTORY
The GNU shtool mdate command was originally written by Ulrich Drepper in 1995 and revised by Ralf S. Engelschall <rse@engelschall.com> in
1998 for inclusion into GNU shtool.
SEE ALSO
shtool(1), date(1), ls(1).
18-Jul-2008 shtool 2.0.8 SHTOOL-MDATE.TMP(1)