#!/bin/sh if [ $# != 1 -o "$1" = "--" ]; then echo "Usage: $0 '[user@]host:path/to/files'" exit 5 fi sshhost=$(echo "$1"|sed s/:.*//) src="$(echo "$1"|sed s/[^:]*://)" path="$(dirname "$src")" escapedpath="$(echo "$path"|sed 's/\(~[^/]*\/\)\?\(.*\)/\1"\2"/')" files="$(basename "$src")" escapedfiles="$(echo "\"$files\""|sed 's/\*/"\*"/g')" echo "Logging in at $sshhost to get files $files at $path" ssh $sshhost "cd $escapedpath && tar c $escapedfiles" | tar xv