Tutorial Scripting (revisi 121003-r04)

Kembali ke Lab 03

  • Harap perhatikan bahwa untuk membuat berkas NPM.txt kita akan menggunakan vim.
  • Buat berkas dengan nama NPM.txt. Ganti NPM dengan NPM anda.
    vim 1202000818.txt
  • Tulis kalimat ini 212 kali. Ganti NPM dengan NPM anda. Hint: lakukan cara menggandakan teks yang dikerjakan di lab sebelumnya.
    Saya NPM suka makan mangga dan minum susu.
  • Ganti semua frase "makan mangga" dengan "minum susu".
    [Esc]
    :%s/makan mangga/minum susu/
  • Ganti semua frase "minum susu" yang ada di akhir setiap kalimat baris 3 - 125 dengan "jalan-jalan". Ada 3 cara yang dapat digunakan, pilih salah satu:
    :3,125s/dan minum susu/dan jalan-jalan/

    atau
    :3,125s/minum susu\./jalan-jalan./

    atau
    :3,125s/dan minum susu\.$/dan jalan-jalan./
  • Ganti semua frase "minum susu" yang ada di kalimat baris ke 126 dengan "jalan-jalan".
    :126s/minum susu/jalan-jalan/g
  • Ganti frase "jalan-jalan" di baris ke 101 menjadi "tidur siang".
    :101s/jalan-jalan/tidur siang/
  • Simpan pekerjaan anda dan keluar dari vi
    :wq
  • Mari kita buat berkas tanyatutor.txt dengan isi sebagai berikut:
    $ vi tanyatutor.txt
    i

    aaBBcccDdyyXXZZZZ

    [Esc]
    :wq
  • Sekarang buat berkas bernama kodetutor dan isi dengan script di bawah ini. Ganti NPM dengan NPM anda dan TOKEN dengan token anda.
    NB: Jika anda bingung, tanda (`) pada script (`expr length $teks`) ada di bawah [Esc], di samping kiri angka 1.
    $ vi kodetutor

    # NPM belajar manipulasi string.
    # ZCZC TOKEN
    # Ini adalah comment.
    
    teks=`cat $1`
    echo "$teks"
  • Mari kita ubah hak akses berkas kodetutor sehingga dapat dieksekusi.
    [Esc]
    :wq
    $ chmod 755 kodetutor
  • Jalankan script kodetutor.
    $ ./kodetutor tanyatutor.txt

    aaBBcccDdyyXXZZZZ

    Ternyata script di atas gunanya adalah untuk memasukkan isi berkas tanyatutor.txt ke dalam variabel teks, lalu print isi variabel teks.
  • Sekarang mari kita modifikasi berkas kodetutor sehingga bisa menghitung jumlah karakter yang ada di variabel teks.
    len=`expr length $teks`
    echo "$len"

    [Esc]
    :wq
    $ ./kodetutor tanyatutor.txt

    aaBBcccDdyyXXZZZZ
    17
  • Kita tambahkan script untuk mengambil karakter dari posisi ke 5 sampai ke 8 (4 karakter).
    stringA=`expr substr $teks 5 4`
    echo "$stringA"

    [Esc]
    :wq
    $ ./kodetutor tanyatutor.txt

    aaBBcccDdyyXXZZZZ
    17
    cccD
  • Selanjutnya mari kita tambah script untuk mengambil 5 karakter terakhir.
    stringB=`expr "$teks" : '.*\(.....\)'`
    echo "$stringB"

    [Esc]
    :wq
    $ ./kodetutor tanyatutor.txt

    aaBBcccDdyyXXZZZZ
    17
    cccD
    XZZZZ
  • Cari berapa kali substring "cc" dan "ZZ" ada di berkas tanyatutor.txt.
    jmlCC=`grep -o cc $1 | wc -w`
    echo "$jmlCC" 
    jmlZZ=`grep -o ZZ $1 | wc -w`
    echo "$jmlZZ"

    [Esc]
    :wq
    $ ./kodetutor tanyatutor.txt

    aaBBcccDdyyXXZZZZ
    17
    cccD
    XZZZZ
    1
    2
  • Sekarang mari kita belajar sedikit aritmatika. Bash Scripting juga dapat mengakomodasi perhitungan. Mari kita tambahkan perhitungan sederhana:
    a=10
    b=2
    echo `expr $a + $b`
    echo `expr $a - $b`
    c=`expr $a \* $b`
    echo "$c" 
    echo `expr $a / $b`
    echo `expr $a - 5`

    [Esc]
    :wq
    $ ./kodetutor tanyatutor.txt

    aaBBcccDdyyXXZZZZ
    17
    cccD
    XZZZZ
    1
    2
    12
    8
    20
    5
    5
  • Pada akhirnya script kodetutor akan berisi seperti ini:
    # NPM belajar manipulasi string.
    # ZCZC TOKEN
    # Ini adalah comment.
    
    teks=`cat $1`
    echo "$teks" 
    len=`expr length $teks`
    echo "$len" 
    stringA=`expr substr $teks 5 4`
    echo "$stringA" 
    stringB=`expr "$teks" : '.*\(.....\)'`
    echo "$stringB" 
    jmlCC=`grep -o cc $1 | wc -w`
    echo "$jmlCC" 
    jmlZZ=`grep -o ZZ $1 | wc -w`
    echo "$jmlZZ" 
    a=10
    b=2
    echo `expr $a + $b`
    echo `expr $a - $b`
    c=`expr $a \* $b`
    echo "$c" 
    echo `expr $a / $b`
    echo `expr $a - 5`
  • Masukkan output script anda ke berkas jawabtutor.txt.
    ./kodetutor tanyatutor.txt > jawabtutor.txt
  • Demikian akhir tutorial scripting.

Kembali ke Lab 03
Kembali ke Wiki