Mercurial > ec-dotfiles
view bin/putcrc @ 56:9343fa4dfd91
[bash] we have vim. Probably.
author | Edho Prima Arief <me@myconan.net> |
---|---|
date | Fri, 29 Apr 2011 16:27:09 +0700 |
parents | 94ee419ad047 |
children | 08d5f6023998 |
line wrap: on
line source
#!/bin/sh safe_path() { # It all depends on the first character. __start=$(printf "%s" "$*" | cut -c 1) __path= case "${__start}" in .|/) __path="$*";; # . and / is safe. No change. *) __path="./$*";; # Anything else must be prefixed with ./ esac printf "%s" "${__path}" # Return. } if [ "$#" -lt 1 ]; then cat <<EOF Usage: $(basename "/$0") file1 file2 ... fileN EOF exit 1 fi for file in "$@"; do if [ -f "${file}" ] && [ -r "${file}" ] && [ -n "$(printf "%s\n" "${file}" | sed -e 's/.*[A-F0-9]\{8\}.*//')" ]; then filename="$(basename "$(safe_path "${file}")")" dirname="$(dirname "$(safe_path "${file}")")" myfile="$(printf "%s\n" "${filename%.*}" | sed -e 's/\([^]]\)$/\1 /')" myext="${filename##*.}"; if [ "${myext}" = "${filename}" ]; then myext=""; else myext=".${myext}"; fi crc=$(cek.rb "$(safe_path "${file}")" | tail -1 | sed -e 's/.*\([A-F0-9]\{8\}\)$/\1/') mv -- "${file}" "${dirname}/${myfile}[${crc}]${myext}" && printf "%s => %s\n" "${file}" "${myfile}[${crc}]${myext}" else printf "%s\n" "${file} is not a file or unreadable" fi done