-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathextension_checker
executable file
·41 lines (35 loc) · 1023 Bytes
/
extension_checker
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
#!/bin/bash
IFS=$'\n'
for file in `realpath -- $@`; do
[ -f $file ] || continue
case `file -bi $file` in
video/x-msvideo) EXT="avi" ;;
video/mpeg) EXT="mpg" ;;
video/mpv) EXT="mpg" ;;
image/jpeg) EXT="jpg" ;;
application/vnd.rn-realmedia) EXT="rm" ;;
video/mp4) EXT="mp4" ;;
video/quicktime) EXT="qt" ;;
application/x-zip) EXT="zip" ;;
*) case `file -b $file|cut -c -4` in
RIFF) EXT="avi" ;;
Micr) EXT="asf" ;;
*)
echo -e "`basename $file` has unknown format `file -b $file`\n--\n"
continue
;;
esac
;;
esac
if [ "`echo $file|sed "s/^.*\.\(.*$\)/\1/"`" != "$EXT" ]; then
echo "`basename $file` extension does not match format type $EXT"
fixed=`echo $file|sed "s/\(^.*\.\).*$/\1$EXT/"`
read -p "Rename to `basename $fixed`? " rename < /dev/tty
if [ -z "$rename" -o "$rename" = "y" -o "$rename" = "yes" ]; then
mv -i "$file" "$fixed"
else
echo "Not renaming."
fi
echo -e "--\n"
fi
done