Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: help with 'rename' function
- X-seq: zsh-users 1596
- From: Hannu Koivisto <azure@xxxxxx>
- To: zsh-users@xxxxxxxxxxxxxxx
- Subject: Re: help with 'rename' function
- Date: 12 Jun 1998 12:55:40 +0300
- In-reply-to: Timothy J Luoma's message of "Fri, 12 Jun 98 04:15:57 -0400"
- References: <199806120816.EAA22173@xxxxxxxxxxxxxxx>
Timothy J Luoma <luomat+Lists/Zsh/users@xxxxxxxxxxxxxxx> writes:
| For example, say you have a bunch of files which ended with .THIS and you
| wanted to change them to end with .THAT
|
| You would do
|
| rename *.THIS THIS=THAT
|
| and it would go on its way... or if it was just one file:
|
| rename foo.THIS THIS=THAT
Well, I needed to do exactly this but also do other arbitrary
rename operations to one or many files, so I first created a
"higher-order" ;) function...
rename-with-filter () {
if ! [[ $# -lt 2 ]]
then
for kala in $argv[2,-1]
do
mv "$kala" "$(echo "$kala" | eval $1)"
done
fi
}
...using which I could make, for example, a following kind of
function to transform filenames like ThisIsFilename to
This_Is_Filename:
rename_separate () {
rename-with-filter "sed -e 's/\([a-z]\)\([A-Z]\)/\1_\2/g'" $*
}
This should handle your much simpler case too.
| I've tried to make a function which does this, but it fails:
Sorry, can't help you with your implementation, I'm pretty much
write-only zsh user :)
//Hannu
Messages sorted by:
Reverse Date,
Date,
Thread,
Author