summaryrefslogtreecommitdiff
path: root/.local/bin/orgext
blob: f1654d2c70ad25053747ef4d227d3bc01a43aa7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/sh

# references: 
# https://stackoverflow.com/questions/1842254/how-can-i-find-all-of-the-distinct-file-extensions-in-a-folder-hierarchy

# not sure if find here need -depth, not sure if mv here need -n and -T

outdir ()
{ 
	find . -type f -execdir mv -nt "$PWD" -- '{}' \+
	find . -mindepth 1 -maxdepth 1 -type d -delete
}

indir ()
{
	find . -maxdepth 1 -type f | awk -F. '!a[$NF]++{print $NF}' | xargs mkdir --
	find . -mindepth 1 -maxdepth 1 -type d -execdir basename -az -- '{}' \+ | xargs -0 -I _ find . -maxdepth 1 -type f -name '*._' -execdir mv -t '_' -- '{}' \+
}

case "$1" in
	'-o') outdir;;
	'-i') indir;;
	*) outdir; indir;;
esac