-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnormdate
executable file
·47 lines (41 loc) · 885 Bytes
/
normdate
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
44
45
46
47
#!/bin/bash
function monthNumToName
{
case $1 in
1 ) month="Jan" ;;
2 ) month="Feb" ;;
3 ) month="Mar" ;;
4 ) month="Apr" ;;
5 ) month="May" ;;
6 ) month="Jun" ;;
7 ) month="Jul" ;;
8 ) month="Aug" ;;
9 ) month="Sep" ;;
10 ) month="Oct" ;;
11 ) month="Nov" ;;
12 ) month="Dec" ;;
* ) echo "Not valid month: $1" >&2
exit 1
esac
return 0
}
if [ $# -ne 3 ]
then
echo "$(basename $0): format is Month Day Year" >&2
echo "valid formats are August 29 1967 and 8 29 1967" >&2
exit 1
fi
if [ $3 -le 99 ]
then
echo "Usage $(basename $0): expected 4-digit year format" >&2
exit 1
fi
if [ -z $(echo $1 | sed 's/[[:digit:]]//g') ]
then
monthNumToName $1
else
month="$(echo $1 | cut -c1 | tr '[:lower:]' '[:upper:]')"
month="$month$(echo $1 | cut -c2-3 | tr '[:upper:]' '[:lower:]')"
fi
echo $month $2 $3
exit 0