Pengenalan AWK dan SED (Revisi 130918-r07)

Kembali ke Lab 02

  1. Sebelum mengerjakan tutorial ini pastikan anda berada di direktory ~/[KELAS]/[NPM]/Lab02 dengan melakukan perintah :
    cd ~/[KELAS]/[NPM]/Lab02
    

Tutorial SED

  1. Lakukan perintah berikut :
    $ vi cobased
    
  2. Isi file cobased dengan hal di bawah ini :
    i
    Saya adalah suatu tanda ? dalam hati
    Saya sering melewati # yang penuh * bersinar
    Saya tidak suka di () dalam [] seram
    Saya sering berjalan ' atau " dan
    Ya begitulah hidup............Sendiri... Sendiri... Sendiri.....
    [ESC]
    :wq
    
  3. Lakukan perintah berikut :
    $ sed -i 's/\?/tanya/g' cobased
    
  4. Perintah di atas akan mengubah character ? menjadi kalimat "tanya". Tugas kalian adalah merubah hal-hal berikut pada file :
    # menjadi pagar
    () menjadi kurung
    [] menjadi kotak
    " menjadi berdua
    ' menjadi sendiri
    * menjadi bintang
    

    Ket :Untuk tanda kutip satu ('), bisa menggunakan lambang \x27.

Tutorial GAWK

  1. Lakukan perintah berikut :
    $ vi cobaawk
    
  2. Isi file cobaawk dengan hal di bawah ini :
    i
    #!/bin/bash
    
    ls -l | gawk '{
       FNAME=$9                                     # To get data in 9th field from ls -l (filename)
       FNAME2=FNAME                                 # FNAME2 for old name and FNAME for new name
       gsub (/\"/,"\\\"",FNAME2)                    # To handle problem with " and change it with \" 
       NCHG += gsub(/\x22/,"-",FNAME)               # To replace character " with -
       NCHG += gsub (/--+/,"-",FNAME)              # To replace more than 1 sequencial "-" to one "-" 
       NCHG += gsub (/-\./,".",FNAME)              # To replace character -. to only .
       NCHG += gsub (/^-/,"",FNAME)                # To delete - if in front of file name
       if (NCHG > 0) {                              # if there is change for the filename, filename will be replace with the command below
          system("/bin/mv \""  FNAME2 "\" " FNAME)      # rename oldfile to newfile
       }
    }'
    [ESC]
    :wq
    
  3. Jalankan perintah :
    $ chmod 777 cobaawk
    $ touch coba\"awk
    $ ./cobaawk
    
  4. Pada program cobaawk kita mengganti /\x22/ menjadi "-", /\x22/ berarti karakter nomor 22 (hexadecimal) dalam tabel ascii yaitu ".
    Tugas kalian lengkapi program diatas sehingga program tersebut juga dapat mengganti karakter-karakter berikut :
    , ? * #
    

    Tabel ascii dapat di lihat di http://www.asciitable.com/
  5. Setelah melengkapi program lakukan perintah berikut :
    $ touch "coba,2" 
    $ touch "coba?3" 
    $ touch "coba*4" 
    $ touch "coba#5" 
    $ ./cobaawk
    

Kembali ke Lab 02
Kembali ke Wiki