@junior-helper: thread opener stated he uses Korn shell, so chances are this is not a Linux system at all. There is a good chance that the "rename"-command is not there.
Quote:
Originally Posted by pchegoor
I would like to rename Multiple files in a Unix Directory using Ksh Command.
Basically this is a simple job: create a loop in which you run a command mv "$oldname" "$newname" in which you rename one file after the other:
Which leaves the question where "$NEWNAME" comes from. You could use any text-modifying utility (sed, awk, ....) of which Unix is so rich of to construct the new name from the old. This utility would be called once for every single file and this would add a lot of overhead to your script, which should be avoided.
Fortunately the shell itself offers a great way to modify strings too, without having to resort to an external utility: the "parameter expansion" or "variable epansion". The syntax looks awkward at first, but its execution speed beats every external utility by some order of magnitude. Twenty lines of this is perhaps still way faster than a single awk- (sed-, ...) call.
I suggest having a look into the man page for details, here is the solution for your problem as you stated it: remove a middle " 00-00-00" from a string:
Run with the print-statements to see how it works, remove them once you feel comfortable with the output.
Hi to everyone!!. Here's my stupid question of the day.
When I have to rename a file I use "mv filename newfilename".
But what about renaming multiple files, for example if I want to add the prefix "old" to several image files (in fact it's what I wanted to do..).
Thanks in advance.... :D (6 Replies)
Can someone please tell me how I can rename a bunch of files at a time. I hava a directory that has 700+ files that are named
*.xyz and I would like to rename them to *.abc . How can I do that with a simple command ?
mv *.xyz *.abc did not work.
Thanks in advance (4 Replies)
Help!
I was trying to rename multiple files. Like in DOS, i decided to use wildcards and now i am missing some files. Any ideas on how to recover them? Or find out where the files went?
I had these 3 files
resume1.log
elecresume.log
compresume.log
The command I ran was
mv *.log *.log.bak... (6 Replies)
hi,
I've a machine running RHEL3,kernel version 2.4.
i need to rename multiple files under one directory as follows:
ls
demo.c demo.S demo-1243.sw demo.xyz
and now i need to replace the occurrence of demo with demo_1 for each of the above file. the tedious way is to go ahead and do mv on... (2 Replies)
Hello
i have the files in this format
pdb1i0t.ent
pdb1lv7.ent
pdb1pp6.ent
pdb1tj2.ent
pdb1xg2.ent
pdb2b4b.ent
pdb2ewe.ent
Now i have to remove the prefix pdb from all the files and also i need to change the extension of .ent to .txt
The new file should look like this
... (3 Replies)
I have to rename 100+ files at a time on the server
& was trying to use a script for doing that.
I have used ultra edit to create a file having
current filename & new file name as below
file234.txt | file956.txt
file687.txt | file385.txt
There is no fixed pattern while renaming & would... (20 Replies)
Hi,
Can we rename multiples files using find or awk utility?
Now I am doing it using for loop and getting the file name and in side the loop using the mv command.
Like ine need t rename all txt files to doc file. For example
a1.txt => a1.doc
a2.txt => a2.doc
a3.txt => a3.doc
myfile.txt... (2 Replies)
Hi,
In sftp script to get files, I have to rename all the files which I am picking. Rename command does not work here. Is there any way to do this?
I am using #!/bin/ksh
For eg: sftp user@host <<EOF
cd /path
get *.txt
rename *.txt *.txt.done
... (7 Replies)
Hi all,
i am new to this forum, unix and shell scripting.
I would really appreciate if you all can help me here..
I have files coming in the below format
'filename20513'13May06:03:45
filename are characters..
like 'ABDDUT20513'13May06:03:45
i need it to be renamed as... (17 Replies)
Hi,
I have been searching how to do this but I can't seem to find how to do it. Hopefully someone can help.
I have multiplr files, 100's example 12345-zxys.213423.zyz.txt. I want to be able to take all these files and remove the first '12345-' from each of the files. '12345-' these characters... (5 Replies)
Discussion started by: israr75
5 Replies
LEARN ABOUT DEBIAN
mail::message::field::addrgroup
Mail::Message::Field::AddrGroup(3pm) User Contributed Perl Documentation Mail::Message::Field::AddrGroup(3pm)NAME
Mail::Message::Field::AddrGroup - A group of Mail::Message::Field::Address objects
INHERITANCE
Mail::Message::Field::AddrGroup
is a User::Identity::Collection::Emails
is a User::Identity::Collection
is a User::Identity::Item
SYNOPSIS
my $g = Mail::Message::Field::AddrGroup->new(name => 'name');
my $a = Mail::Message::Field::Address->new(...);
$g->addAddress($a);
my $f = Mail::Message::Field::Addresses->new;
$f->addGroup($g);
DESCRIPTION
An address group collects a set of e-mail addresses (in this case they are Mail::Message::Field::Address objects).
OVERLOADED
overload: @{}()
See "OVERLOADED" in User::Identity::Collection
overload: stringification()
Returns the string() value.
METHODS
$obj->string()
Returns the address group as string. When no name is specified, it will only be a comma separated list of addresses. With a name, the
groups name will be prepended and a semi-colon appended. When no addresses where included and there is no name, then "undef" is
returned.
Constructors
$obj->coerce(OBJECT)
Coerce an OBJECT into a Mail::Message::Field::AddrGroup. Currently, you can only coerce User::Identity::Collection::Emails (which is
the base class for this one) into this one.
Mail::Message::Field::AddrGroup->new([NAME], OPTIONS)
See "Constructors" in User::Identity::Collection::Emails
Attributes
$obj->description()
See "Attributes" in User::Identity::Item
$obj->itemType()
See "Attributes" in User::Identity::Collection
$obj->name([NEWNAME])
See "Attributes" in User::Identity::Item
$obj->roles()
See "Attributes" in User::Identity::Collection
Collections
$obj->add(COLLECTION, ROLE)
See "Collections" in User::Identity::Item
$obj->addCollection(OBJECT | ([TYPE], OPTIONS))
See "Collections" in User::Identity::Item
$obj->collection(NAME)
See "Collections" in User::Identity::Item
$obj->parent([PARENT])
See "Collections" in User::Identity::Item
$obj->removeCollection(OBJECT|NAME)
See "Collections" in User::Identity::Item
$obj->type()
Mail::Message::Field::AddrGroup->type()
See "Collections" in User::Identity::Item
$obj->user()
See "Collections" in User::Identity::Item
Maintaining roles
$obj->addRole(ROLE| ( [NAME],OPTIONS ) | ARRAY-OF-OPTIONS)
See "Maintaining roles" in User::Identity::Collection
$obj->removeRole(ROLE|NAME)
See "Maintaining roles" in User::Identity::Collection
$obj->renameRole(ROLE|OLDNAME, NEWNAME)
See "Maintaining roles" in User::Identity::Collection
$obj->sorted()
See "Maintaining roles" in User::Identity::Collection
Searching
$obj->find(NAME|CODE|undef)
See "Searching" in User::Identity::Collection
Addresses
$obj->addAddress(STRING|ADDRESS|OPTIONS)
Add one e-mail address to the list which is maintained in the group. This is a wrapper around addRole() adding flexibility on how
addresses are specified. An ADDRESS can be anything which is acceptable for Mail::Message::Field::Address::coerce() or a list of
options which will create such an object.
example: of adding an address to an address group
my @data = (full_name => "Myself", address => 'me@tux.org');
$group->addAddress(@data);
my $addr = Mail::Message::Field::Address->new(@data);
$group->addAddress(@data);
my $ma = Mail::Address->new(...);
$group->addAddress($ma);
$obj->addresses()
Returns all addresses defined in this group. The addresses will be ordered alphabetically to make automated testing possible: roles
are stored in a hash, so have an unpredictable order by default.
example: getting all addresses from a group
my @addrs = $group->addresses;
my @addrs = map { $_->address } $self->roles; #same
Error handling
DIAGNOSTICS
Error: $object is not a collection.
The first argument is an object, but not of a class which extends User::Identity::Collection.
Error: Cannot coerce a $type into a Mail::Message::Field::AddrGroup
Error: Cannot create a $type to add this to my collection.
Some options are specified to create a $type object, which is native to this collection. However, for some reason this failed.
Error: Cannot load collection module for $type ($class).
Either the specified $type does not exist, or that module named $class returns compilation errors. If the type as specified in the
warning is not the name of a package, you specified a nickname which was not defined. Maybe you forgot the 'require' the package which
defines the nickname.
Error: Cannot rename $name into $newname: already exists
Error: Cannot rename $name into $newname: doesn't exist
Error: Creation of a collection via $class failed.
The $class did compile, but it was not possible to create an object of that class using the options you specified.
Error: Don't know what type of collection you want to add.
If you add a collection, it must either by a collection object or a list of options which can be used to create a collection object.
In the latter case, the type of collection must be specified.
Warning: No collection $name
The collection with $name does not exist and can not be created.
Error: Wrong type of role for $collection: requires a $expect but got a $type
Each $collection groups sets of roles of one specific type ($expect). You cannot add objects of a different $type.
SEE ALSO
This module is part of Mail-Box distribution version 2.105, built on May 07, 2012. Website: http://perl.overmeer.net/mailbox/
LICENSE
Copyrights 2001-2012 by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See
http://www.perl.com/perl/misc/Artistic.html
perl v5.14.2 2012-05-07 Mail::Message::Field::AddrGroup(3pm)