| 
									
										
										
										
											2018-05-12 09:19:28 +03:00
										 |  |  | #!/bin/bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # TODO make this runnable from anywhere... | 
					
						
							|  |  |  | #	- prepend paths with './' only if local/relative | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | BASE_PATH=. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-13 00:37:40 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-12 09:19:28 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							| 
									
										
										
										
											2019-09-28 17:31:01 +03:00
										 |  |  | 	echo "	-bz -bzip2	- use bzip2 to compress`[[ $ARCH == $ARCH_BZIP2 ]] && echo " (default)" || echo ""`." | 
					
						
							|  |  |  | 	echo "	-gz -gzip	- use gzip to compress`[[ $ARCH == $ARCH_GZIP ]] && echo " (default)" || echo ""`." | 
					
						
							|  |  |  | 	echo "	-c -compact	- use ntfs compression`[[ $ARCH == $ARCH_NTFS ]] && echo " (default)" || echo ""`." | 
					
						
							| 
									
										
										
										
											2018-05-12 09:19:28 +03:00
										 |  |  | 	echo | 
					
						
							| 
									
										
										
										
											2019-09-28 17:31:01 +03:00
										 |  |  | 	echo "	-ext EXT	- set file extension to compress (default: ${EXT})" | 
					
						
							| 
									
										
										
										
											2018-05-12 09:19:28 +03:00
										 |  |  | 	echo "			  NOTE: only one -ext is supported now". | 
					
						
							|  |  |  | 	echo | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # process args... | 
					
						
							|  |  |  | while true ; do | 
					
						
							|  |  |  | 	case $1 in | 
					
						
							|  |  |  | 		-h|--help) | 
					
						
							|  |  |  | 			printhelp | 
					
						
							|  |  |  | 			exit | 
					
						
							|  |  |  | 			;; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		# archivers... | 
					
						
							| 
									
										
										
										
											2018-05-12 13:47:59 +03:00
										 |  |  | 		-bz|--bzip2) | 
					
						
							| 
									
										
										
										
											2018-05-13 00:37:40 +03:00
										 |  |  | 			ARCH=$ARCH_BZIP2 | 
					
						
							| 
									
										
										
										
											2018-05-12 09:19:28 +03:00
										 |  |  | 			shift | 
					
						
							|  |  |  | 			;; | 
					
						
							| 
									
										
										
										
											2018-05-12 13:47:59 +03:00
										 |  |  | 		-gz|--gzip) | 
					
						
							| 
									
										
										
										
											2018-05-13 00:37:40 +03:00
										 |  |  | 			ARCH=$ARCH_GZIP | 
					
						
							| 
									
										
										
										
											2018-05-12 09:19:28 +03:00
										 |  |  | 			shift | 
					
						
							|  |  |  | 			;; | 
					
						
							| 
									
										
										
										
											2018-05-12 13:47:59 +03:00
										 |  |  | 		-c|--compact) | 
					
						
							| 
									
										
										
										
											2018-05-13 00:37:40 +03:00
										 |  |  | 			ARCH=$ARCH_NTFS | 
					
						
							| 
									
										
										
										
											2018-05-12 13:47:59 +03:00
										 |  |  | 			shift | 
					
						
							|  |  |  | 			;; | 
					
						
							| 
									
										
										
										
											2018-05-12 09:19:28 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		# extension to compress... | 
					
						
							|  |  |  | 		--ext) | 
					
						
							|  |  |  | 			EXT=$2 | 
					
						
							|  |  |  | 			shift | 
					
						
							|  |  |  | 			shift | 
					
						
							|  |  |  | 			;; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		*) | 
					
						
							|  |  |  | 			break | 
					
						
							|  |  |  | 			;; | 
					
						
							|  |  |  | 	esac | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # get path... | 
					
						
							| 
									
										
										
										
											2018-05-12 15:20:10 +03:00
										 |  |  | if [ "$1" ] ; then | 
					
						
							|  |  |  | 	BASE_PATH=$1 | 
					
						
							| 
									
										
										
										
											2018-05-12 09:19:28 +03:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # do the work... | 
					
						
							| 
									
										
										
										
											2018-05-12 15:20:10 +03:00
										 |  |  | find "$BASE_PATH" -name \*.${EXT} -exec ${ARCH} \; | 
					
						
							| 
									
										
										
										
											2018-05-12 09:19:28 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-24 12:55:47 +03:00
										 |  |  | echo done. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-12 09:19:28 +03:00
										 |  |  | # vim:set nowrap nospell : |