#!/bin/bash -C
# 2014-01-02 rzm@icm.edu.pl
# 2016-06-04 zcat|xz instead of uncompressing; block overwriting with -C
compr="xz -9 -e"
echo=echo
echo=

while [ "$1" != "" ]; do
	name=`echo "$1" | sed 's/\.[^\.]\+$//'`
	ext=""
	if [[ "$1" =~ \. ]]; then
		ext=`echo "$1" | sed 's/.*\.//'`
	fi
#echo "<${name}> <${ext}>"; exit

	zcat="WARNING: unknown extension of"
	case "$ext" in
		"Z") zcat=zcat;;
		"gz") zcat=zcat;;
		"bz2") zcat=bzcat;;
		"lzma") zcat=lzcat;;
	esac

	if [ -f "$name".xz ]; then
		echo The "$name".xz file exists already, omitting.
	else
		#$echo $zcat "$1" \| $compr \> "$name".xz
		$zcat "$1" | $compr > "$name".xz
		if [[ "${PIPESTATUS[@]}" != "0 0" ]]; then
			$echo rm "$name".xz
		else
			$echo touch -r "$1" "$name".xz
			$echo chown `stat -c %u:%g "$1"` "$name".xz
			$echo chmod `stat -c %a "$1"` "$name".xz
			$echo rm "$1"
		fi
	fi

	shift
done
