-
Notifications
You must be signed in to change notification settings - Fork 0
/
soal4.sh
71 lines (58 loc) · 1.54 KB
/
soal4.sh
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/bin/bash
chr(){
printf \\$(printf '%03o' $1)
}
awal=`cat /var/log/syslog`
jam=`date +%H`
menit=`date +%M`
tanggal=`date +%d`
bulan=`date +%m`
tahun=`date +%Y`
fname="$jam:$menit $tanggal-$bulan-$tahun"
enkrip(){
ordajam=`expr $jam + 65`
ordzjam=`expr $jam + 65 - 1`
chrajam=`chr $ordajam`
chrzjam=`chr $ordzjam`
if [ $jam -eq 0 ]
then
printf '%s' "$awal" >"$fname"
#echo $awal > "$fname"
elif [ $jam -eq 1 ]
then
printf '%s' "$awal" | tr A-Za-z B-ZAb-za >"$fname"
#echo $awal | tr A-Za-z B-ZAb-za > "$fname"
else
rule="$chrajam-ZA-$chrzjam"
printf '%s' "$awal" | tr A-Za-z $rule${rule,,} > "$fname"
#echo $awal | tr A-Za-z $rule${rule,,} > "$fname"
fi
}
dekrip(){
jam=${1:0:2}
awal=`cat "$1 $2"`
fname="$1 $2_d"
ordajam=`expr $jam + 65`
ordzjam=`expr $jam + 65 - 1`
chrajam=`chr $ordajam`
chrzjam=`chr $ordzjam`
if [ $jam -eq 0 ]
then
printf '%s' "$awal" >"$fname"
#echo $awal > "$fname"
elif [ $jam -eq 1 ]
then
printf '%s' "$awal" | tr B-ZAb-za A-Za-z >"$fname"
#printf '%s' "$awal" | tr A-Za-z B-ZAb-za >"$fname"
#echo $awal | tr A-Za-z B-ZAb-za > "$fname"
else
rule="$chrajam-ZA-$chrzjam"
printf '%s' "$awal" | tr $rule${rule,,} A-Za-z > "$fname"
#printf '%s' "$awal" | tr A-Za-z $rule${rule,,} > "$fname"
#echo $awal | tr A-Za-z $rule${rule,,} > "$fname"
fi
}
case $1 in
"-e") enkrip;;
"-d") dekrip $2 $3;;
esac