Posted by : Unknown Minggu, 02 November 2014


“Dalam berkas tersebut terdapat jadwal memberi makan ikan di akuarium sebelah komputer server. Pur harus memberi tanda bahwa pada jadwal tersebut makanan sudah diberikan. Format berkas terdiri dari N baris HH:MM:SS. Pur harus memberikan tanda “”-SUDAH TERLAKSANA”” di sebelah kanan tiap baris jika pada saat skrip dijalankan, waktu pada baris tersebut telah terlampaui. Contoh:

08:00:01-SUDAH TERLAKSANA

10:30:34

11:32:46

15:30:10

17:22:30”



>Jawab<

Maksud daripada soal diatas adalah file yang sudah kita unduh dari server yang berisi jadwal memberi makan ikan ketika jam komputer melebihi jadwal memberi makan ikan maka tiap baris sebelah kanan kita beri tanda “-SUDAH TERLAKSANA”. Berikut Bash Script untuk soal diatas.



#!/bin/bash

waktu=$(date +%d-%m-%Y) #Pendeklarasian variabel tanggal dari komputer

jam=$(date +%T) #Pendeklarasian variabel jam dari komputer

cd /home/didit/Desktop #Merubah list direktori ke desktop Linux

mkdir $waktu #Membuat folder dengan nama waktu

cd $waktu #Merubah direktori ke folder waktu yang sudah dibuat

export http_proxy=http://10.151.34.14:1111 #Menghubungkan ke proxy ITS



total_baris=$(wc -l < $jam) #Menghitung jumlah baris dalam file jam



i=2 #Variabel i=2, karena baris yang akan dibaca dimulai baris kedua

#Perulangan sebanyak n baris dikurangi satu baris

while [ $i -le $total_baris ]

do

if head -$i $jam | tail -1 | grep -q '^[0-9]' #Hanya membaca baris dengan di depan kata number 0-9

then

temp=$(head -$i $jam | tail -1) #Mengambil jam pada baris file

if [[ $temp < $jam ]] #Perbandingan antara jam di file dan komputer

then

perl -pi -e 's/'$temp'/'$temp' - SUDAH TERLAKSANA/' $jam #Menuliskan kata “-SUDAH TERLAKSANA” jika jam komputer melebihi jam jadwal memberi makan ikan di akuarium

fi

else exit 1

fi

((i++))

done

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Popular Post

Blogger templates

Labels

Diberdayakan oleh Blogger.

- Copyright © Master Developer -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -