I program quite a bit in other languages, but am somewhat new to bash,
so this may not be the most elegant program, but i'm having fun learning
it!

Anyway, i put this in ~/Choices/SendTo  as tar_rox

In rox-filer, if you select several files or dirs and "Send To" tar_rox,
it'll tar them up in the same directory w/o the entire path to the
files/dirs.  (any structure w/i the dir will be preserved).

I have to go outside (ah!) now, but i'll add prompting for filename as a
learn a bit more.  Then probaly a pipe for sylpheed...

The if chunk's purpose is to strip the filenames off the arguments,
since they come in with full paths, and to
find the path of the files (since pwd is ~/).

Thought this might be of interest to some, and any bash(ing) comments
are welcome!

eric

-------------------------------------
#!/bin/bash
#xmessage $@

FILEPATH=`pwd`   #will be reset to files' path if needed

echo $@ | grep -q /

if [ $? = 0 ] ; then
    FILENAMES=''
    for item in $@; do
        let count=0

        if [[ `echo $item | cut -c1` = '/' ]] ; then
            let count=1
        fi

        VAR='1'
        while [[ $VAR != '' ]]; do
          let count=count+1
          VAR=`echo $item | cut -d/ -f$count`
        done

        FILEPATH=`echo $item | cut -d/ -f1-$((count-2))`
        FILENAMES=$FILENAMES` echo " "``echo $item | cut -d/ -f$((count-1))`
    done
else
    FILENAMES=$@
fi

echo $FILEPATH
cd $FILEPATH

#xmessage `tar -cvf tmp.tar $FILENAMES`
tar -cvf tmp.tar $FILENAMES

Want to buy your Pack or Services from MandrakeSoft? 
Go to http://www.mandrakestore.com

Reply via email to