aboutsummaryrefslogtreecommitdiff
path: root/aux/ext2subdir.sh
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2023-04-01 22:25:46 -0300
committerEuAndreh <eu@euandre.org>2023-04-01 22:26:11 -0300
commit76e1a0925fde2cbf25b75409cd353e20b9cfef48 (patch)
treecc6c3bd8ec0b182011377a20ace0b10f55fd86b5 /aux/ext2subdir.sh
parentRevamp CI: simpler variant of the same functionality (diff)
downloadremembering-76e1a0925fde2cbf25b75409cd353e20b9cfef48.tar.gz
remembering-76e1a0925fde2cbf25b75409cd353e20b9cfef48.tar.xz
Revamp code under aux/
Diffstat (limited to '')
-rwxr-xr-xaux/ext2subdir.sh60
1 files changed, 60 insertions, 0 deletions
diff --git a/aux/ext2subdir.sh b/aux/ext2subdir.sh
new file mode 100755
index 0000000..4770d1b
--- /dev/null
+++ b/aux/ext2subdir.sh
@@ -0,0 +1,60 @@
+#!/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