Sabtu, 11 Oktober 2014

Cara Edit File Melalui Terminal Linux

Selanjutnya, kita akan mencoba untuk mengedit isi file sesuai keinginan kita.

Pertama, untuk membuka file, maka kita butuhkan perintah "<" diikuti dengan nama file yang akan kita edit isinya. Sebaliknya, bila kita ingin menulis di file , dibutuhkan perintah ">" diikuti dengan nama file yang akan kita edit pula.

Kali ini, kita akan coba mengedit file yang berisi waktu, dan bila waktu tersebut kurang dari waktu sekarang, maka kita tambahkan tulisan "SUDAH TERLAKSANA" disamping waktu tersebut di dalam file

Sebagai contoh, ini salah satu file yang akan kita ganti

Jadwal Memberi Makan Ikan di Akuarium Sebelah Komputer Server
09:30:00
17:24:23
14:42:13
04:04:20
07:38:20

Bila misalkan sekarang jam 10:00:00, maka kita ingin mengedit file ini menjadi contoh dibawah :

Jadwal Memberi Makan Ikan di Akuarium Sebelah Komputer Server
09:30:00 - SUDAH TERLAKSANA
17:24:23
14:42:13
04:04:20 - SUDAH TERLAKSANA
07:38:20 - SUDAH TERLAKSANA

Berarti, untuk melakukan hal di atas, kita harus mengetahui waktu sekarang, dan mengetahui waktu didalam file. Lalu, kita lakukan perbandingan manual. Bila jam sekarang > jam di file, maka pasti sudah terlaksana. Bila jam sekarang sama dengan jam di file, maka akan kita cek menitnya. Bila menitnya juga masih sama, baru kita cek apakah detiknya sudah lebih dari detik di file.

Dengan demikian, kita dapat membuat code seperti di bawah untuk mengubah isi file tersebut yang sudah kita download sebelumnya.

while [ true ]; do
read waktu
cnt=`expr $cnt + 1`

if [ ! -n "$waktu" ]; then
break;
fi
if [ $cnt -eq 1 ]; then
echo $waktu > "/home/andre/$hari $tgl/updated:$jamss:$menitss:01"
continue
fi

jam=${waktu:0:2}
menit=${waktu:3:2}
detik=${waktu:6:2}

hrs=`date +%H`
mins=`date +%M`
secs=`date +%S`

jam=${jam#0}
menit=${menit#0}
detik=${detik#0}
hrs=${hrs#0}
mins=${mins#0}
secs=${secs#0}

g=0

#echo $cnt $jam $hrs

if (( $jam > $hrs )); then
g=1
elif [ $jam -eq $hrs ]; then
if (( $menit > $mins )); then
g=1
elif [ $menit -eq $mins ]; then
if (( $detik > $secs )); then
g=1
fi
fi
fi
#echo $jamss $menitss
if [ $g -eq 0 ]; then
echo $waktu - SUDAH TERLAKSANA >> "/home/andre/$hari $tgl/updated:$jamss:$menitss:01"
else
echo $waktu >> "/home/andre/$hari $tgl/updated:$jamss:$menitss:01"
fi
done < "/home/andre/$hari $tgl/$jamss:$menitss:01"
mv "/home/andre/$hari $tgl/updated:$jamss:$menitss:01" "/home/andre/$hari $tgl/$jamss:$menitss:01"

Dapat kita lihat di code diatas, bahwa sebenarnya saya membuat sebuah file baru yang bernama updated:jam:menit:detik. Setelah itu, baru saya rename file tersebut menjadi file aslinya yang memiliki format jam:menit:detik saja. Perintah rename file ini menggunakan perintah mv (nama file asli) (nama file baru)


Tidak ada komentar:

Posting Komentar