mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-28 18:00:09 +00:00
89 lines
1.3 KiB
Bash
Executable File
89 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# TODO make this runnable from anywhere...
|
|
# - prepend paths with './' only if local/relative
|
|
|
|
BASE_PATH=.
|
|
|
|
|
|
ARCH_BZIP2='bzip2 -v {}'
|
|
ARCH_GZIP='gzip -v {}'
|
|
# XXX should we cygpath -w all the inputs???
|
|
ARCH_NTFS='compact /c /exe:lzx {}'
|
|
|
|
|
|
# default...
|
|
ARCH=$ARCH_NTFS
|
|
|
|
|
|
EXT=ARW
|
|
|
|
# HACK: this is here to avoid using windows find...
|
|
PATH=/bin:$PATH
|
|
|
|
|
|
|
|
printhelp(){
|
|
echo "Usage: `basename $0` [ARGUMENTS] [PATH]"
|
|
echo
|
|
echo "Arguments:"
|
|
echo " -h --help - print this help and exit."
|
|
echo
|
|
echo " -bz -bzip2 - use bzip2 to compress (default)."
|
|
echo " -gz -gzip - use gzip to compress."
|
|
echo " -c -compact - use ntfs compression."
|
|
echo
|
|
echo " -ext EXT - set file extension to compress (default: ARW)"
|
|
echo " NOTE: only one -ext is supported now".
|
|
echo
|
|
}
|
|
|
|
# process args...
|
|
while true ; do
|
|
case $1 in
|
|
-h|--help)
|
|
printhelp
|
|
exit
|
|
;;
|
|
|
|
# archivers...
|
|
-bz|--bzip2)
|
|
ARCH=$ARCH_BZIP2
|
|
shift
|
|
;;
|
|
-gz|--gzip)
|
|
ARCH=$ARCH_GZIP
|
|
shift
|
|
;;
|
|
-c|--compact)
|
|
ARCH=$ARCH_NTFS
|
|
shift
|
|
;;
|
|
|
|
# extension to compress...
|
|
--ext)
|
|
EXT=$2
|
|
shift
|
|
shift
|
|
;;
|
|
|
|
*)
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# get path...
|
|
if [ "$1" ] ; then
|
|
BASE_PATH=$1
|
|
fi
|
|
|
|
|
|
|
|
# do the work...
|
|
find "$BASE_PATH" -name \*.${EXT} -exec ${ARCH} \;
|
|
|
|
|
|
|
|
# vim:set nowrap nospell :
|