summaryrefslogtreecommitdiff
path: root/scripts/.local/bin/extract
blob: 616d391fc32d4fa9c014cbfeafc6953b9573eb22 (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/sh

# Setting Vars
FILE=$(basename "$1")
EXTENSION=$(echo "$FILE" | awk -F . '{if (NF>1) {print $NF}}')
BASE=$(basename "$FILE" ."$EXTENSION")

# Select a command to execute depending on the inputted file
case "$EXTENSION" in
	zip)
		unzip "$FILE"
		;;
	rar)
		unar "$FILE"
		;;
	7z)
		7z x "$FILE"
		;;
	tar.xz)
		unxz "$FILE" && tar xpvf "$BASE".tar
		;;
	tar.gz)
		gunzip "$FILE" && tar xpvf "$BASE".tar
		;;
	tar.bz2)
		bzip2 -d "$FILE" && tar xpvf "$BASE".tar
		;;
	tar)
		tar xpvf "$FILE"
		;;
	gz)
		gunzip "$FILE"
		;;
	xz)
		unxz "$FILE"
		;;
	bz2)
		bzip2 -d "$FILE"
		;;
	*)
		echo "Unknown File Type :/"
		;;
esac