comparison bin/rar2zip @ 4:94ee419ad047

Added bin-ec - a collection of scripts.
author Edho Prima Arief <me@myconan.net>
date Sat, 10 Jul 2010 12:38:52 +0000
parents
children
comparison
equal deleted inserted replaced
3:39ef7f7236fc 4:94ee419ad047
1 #!/bin/sh
2 to_lower() {
3 printf "%s" "$1" | tr '[:upper:]' '[:lower:]'
4 }
5 full_path() {
6 # It all depends on the first character.
7 start=${i%${i#?}}
8 path=
9 case "${start}" in
10 /) path="${1}";; # / is absolute. No change.
11 *) path="${2}/${1}";; # Anything else must be prefixed with $2 (hopefully $PWD)
12 esac
13 printf "%s" "${path}" # Return.
14 }
15 for i in "$@"; do
16 src_ext="${i##*.}"
17 src_path="$(full_path "${i}" "${PWD}")"
18 if [ -f "${src_path}" ] && [ -r "${src_path}" ] && [ "${src_ext}" != "${i}" ] && [ "$(to_lower ${src_ext})" = "rar" ]; then
19 tmpdir=".tmp.${i##*/}"
20 if mkdir -p "${tmpdir}"; then
21 if 7z x -o"${tmpdir}" -- "${src_path}"; then
22 (cd "${tmpdir}" && 7z a -mx=1 -tzip "${src_path%.*}.zip" -- "*";)
23 fi
24 rm -r "${tmpdir}"
25 fi
26 else
27 echo "Invalid input: ${i}"
28 fi
29 done
30