I wanted to get first post...
Here's my solution:
#!/bin/bash
for i in $( ls );
do
src=$i
tgt=`expr substr $i 1 5`
mv $src $tgt
done
On 5/16/07, Dave Smith <[EMAIL PROTECTED]> wrote:
Wade Preston Shearer wrote:
> I have a directory full of directories that are all named in the
> following manner:
>
> #####_alpha_name
>
>
> I need them renamed to just:
>
> #####
>
>
> Is there an easy way via the command line to truncate them to just the
> first five characters (which would be just their ID number)?
This works for me, but is probably overkill:
for file in *; do
new_name=$(echo $file | sed 's/^\([0-9]\{5\}\).*/\1/')
echo Renaming "$file" to "$new_name"
mv -v "$file" "$new_name"
done
You can change the \{5\} to whatever number you want to indicate the
number of digits to capture in a row.
--Dave
/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/
--
http://www.ryanbyrd.net
/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/