#!/bin/sh # Creates the last arg as directory (or its parent if not ending in a slash) and moves everything else into it for last; do true; done mkdir -p $(case "$last" in (*/) echo "$last";; (*) dirname "$last";; esac) mv -n "$@"