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 works fine with file names without spaces. but there are few issues I don't know how to fix.
First, Here's my script:
Code:
#!/bin/bash
for i in *
do
newname=$(ls -l ${i} | awk '{ print $3 $6 $7 $9 }')
mv $i $newname
done
1. When it met a file with spaces, e.g. like "fff eee.xls" it gives the following error and won't rename that file:
Code:
ls: cannot access fff: No such file or directory
ls: cannot access eee.xls: No such file or directory
mv: cannot stat `fff': No such file or directory
2. I need to run this script in the parent directory (it's sub directory contains all files to be renamed). How do I make that change in my script? (adding path of sub directory where all files stored)
script is in "/tommy/" directory and files in "/tommy/data/" directory
Please help me. Thanks in advance...
Last edited by DukeNuke2; 02-24-2012 at 03:00 PM..
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)
System: Ubuntu Intrepid Ibex
I'm running webcamd as a sort of "security" program, but I need a script that will archive my webcam.jpg files.
So, take the following file:
/home/slag/www/webcam.jpg
Rename it--preferably with a time stamp.
Place it in say:
/home/slag/www/history/
... (4 Replies)
Hi,
I have around 100 xml file in a directory. I need to rename the files from .xml to .xml1. So i tried using the following command:
mv *.xml *.xml1
but i am getting the following error
mv: when moving multiple files, last argument must be a directory
Try `mv --help' for more... (8 Replies)
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)
I just can't figure it out , so please just give me a pice of advise how to:
The existing Linux program foo2bar takes as its only argument the name of a single foo file and converts it to an appropriately-named bar file. Provide a script that when executed will run foo2bar against all foo... (4 Replies)
:wall::wall::wall:
Hi I have horrible script below, need help in renaming ls -l output into new filename format:
Desired output:
cp -pv original_path/.* newDirectory/owner_of_file.%dd%mm%y.file_extension.first_8_characters_of_original_filename
localuser@localuser:~ vi... (3 Replies)
Our Apache log files are written to a location on the server that we as clients have no access. Don't ask.
Every month, I have to e-mail the administrator to have him manually copy our Apache log files to a directory in our file space. You can probably guess how efficient it is to do things this... (3 Replies)
In the below bash processes substitution, if there are 3 files in a directory /home/cmccabe/medex.logs/analysis.log, the filename variable is set to where these files are located.
The code does execute, the problem is that if there is a renamed file in the output directory below, it gets... (0 Replies)
I'm trying to write a script in a directory that goes through the column the user specifies of 4 files that are inside the directory and calculates the min and the max values. This means that if the user specifies column 5, the script will go through column 5 of all 4 files and all that should give... (2 Replies)
Discussion started by: Eric1
2 Replies
LEARN ABOUT HPUX
rename
rename(2) System Calls Manual rename(2)NAME
rename - change the name of a file
SYNOPSIS DESCRIPTION
The system call causes the source file to be renamed to target. If target exists, it is first removed. Both source and target must be of
the same type (that is, either directories or nondirectories), and must reside on the same file system.
If target can be created or if it existed before the call, guarantees that an instance of target will exist, even if the system crashes in
the midst of the operation.
If the final component of source is a symbolic link, the symbolic link is renamed, not the file or directory to which the symbolic link
points.
RETURN VALUE
returns the following values:
Successful completion.
Failure.
Neither file is affected. is set to indicate the error.
ERRORS
If fails, is set to one of the following values.
[EACCES] A component of either path prefix denies search permission.
[EACCES] The requested link requires writing to a directory without write permission.
[EBUSY] target or source is an existing directory that is the mount point for a mounted file system.
[EDQUOT] User's disk quota block or inode limit has been reached for this file system.
[EEXIST] target is a directory and is not empty.
[EFAULT] source or target points outside the allocated address space of the process. Reliable detection of this error is
implementation dependent.
[EINVAL] source is a parent directory of target, or an attempt is made to rename the or directory.
[EISDIR] target is a directory, but source is not.
[ELOOP] Too many symbolic links were encountered in translating either path name.
[ENAMETOOLONG] A component of either path name exceeds bytes while is in effect, or the entire length of either path name exceeds
bytes.
[ENOENT] A component of the source path does not exist, or a path prefix of target does not exist.
[ENOSPC] The destination directory cannot be extended because of a lack of space on the file system containing the directory.
[ENOTDIR] A component of either path prefix is not a directory.
[ENOTDIR] source is a directory, but target is not.
[EPERM] The directory containing source has the sticky bit set, and neither the containing directory nor the source are owned
by the effective user ID.
[EPERM] The target file exists, the directory containing target has the sticky bit set, and neither the containing directory
nor the target are owned by the effective user ID.
[EROFS] The requested link requires writing in a directory on a read-only file system.
[EXDEV] The paths named by source and target are on different logical devices (file systems).
AUTHOR
was developed by the University of California, Berkeley.
SEE ALSO open(2).
STANDARDS CONFORMANCE rename(2)