blob: e6831e41ee6a15ff916d82d450dd2c644399db1d (
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
|
#!/bin/sh
# credit: http://nparikh.org/notes/zshrc.txt
# Usage: extract <file>
# Description: extracts archived files / mounts disk images
# Note: .dmg/hdiutil is Mac OS X-specific.
do_autodetect () {
if file "$1" | grep -q 'Zip archive' ; then
unzip "$1"
else
echo "'$1' is not a recognized format"
fi
}
# first use a simple extension-based approach
if [ -f "$1" ]; then
case $1 in
*.tar.bz2) tar -jxvf "$1" ;;
*.tar.gz) tar -zxvf "$1" ;;
*.bz2) bunzip2 "$1" ;;
*.dmg) hdiutil mount "$1" ;;
*.gz) gunzip "$1" ;;
*.tar) tar -xvf "$1" ;;
*.tbz2) tar -jxvf "$1" ;;
*.tgz) tar -zxvf "$1" ;;
*.zip) unzip "$1" ;;
*.ZIP) unzip "$1" ;;
*.pax) pax -r < "$1" ;;
*.pax.Z) uncompress "$1" --stdout | pax -r ;;
*.Z) uncompress "$1" ;;
# if there is no recognized extension, try to auto-detect the file type
*) do_autodetect "$1" ;;
esac
else
echo "'$1' is not a valid file"
fi
|