#!/bin/sh set -eu usage() { cat <<-'EOF' FIXME EOF } help() { cat <<-'EOF' FIXME EOF } for flag in "$@"; do case "$flag" in --) break ;; --help) usage help exit ;; *) ;; esac done while getopts 'o:h' flag; do case "$flag" in o) OUTDIR="$OPTARG" ;; h) usage help exit ;; *) usage >&2 exit 2 ;; esac done shift $((OPTIND - 1)) . aux/lib.sh eval "$(assert_arg "${OUTDIR:-}" '-o OUTDIR')" for f in "$@"; do lang="$(printf '%s' "$(basename "$f")" | sed 's|^.*\.\([a-z][a-z]\)\..*$|\1|')" f_nolang="$(printf '%s' "$(basename "$f")" | sed "s|\.$lang\.|.|")" mkdir -p -- "$OUTDIR/$lang" cp -- "$f" "$OUTDIR/$lang/$f_nolang" done