On Thu, Feb 17, 2005 at 11:16:27AM -0500, jeff elkins wrote: > Howdy, > > I need a shell script to strip X leading characters from a filename. I'm using > basename to change extensions, any analog of this I could use? > > #!/bin/sh > # > for i in *.zzz; do > if test -f $i; then > NAME=$(basename $i .zzz) > echo $NAME > mv ${NAME}.zzz ${NAME}.xxx > fi > done > > Thanks, > > Jeff Elkins > Hi Jeff, while I have seen the approach Michael has taken in the other post (and I see its intrinsic beauty), here is another take on it with sed: --- 8< ---------------------------------------------------------------- #!/bin/bash for b in *.xxx; do c=`echo $b | sed -e s/^..//g` #change nr. of dots for different mv $b $c #nr. of chars stripped done --- 8< ---------------------------------------------------------------- Care has to be taken for whitespace and other nastinesses in the filename. -- Andreas Rippl -- I prefer encrypted mail
Attachment:
signature.asc
Description: Digital signature