| Go back to main page | Go back to articles list |
PENGANTAR
Pertanyaan di atas pernah diajukan oleh salah seorang rekan saya. Pertanyaannya sederhana tapi menggelitik. "Perlu nggak sih kita belajar Linux/UNIX kalau akhirnya waktu kerja di industri kita menggunakan software komersial yang tinggal click here dan click there", kira-kira begitu pertanyaan rekan tersebut. Jawaban paling gampang adalah : "Ya terserah kamu saja" .
CONTOH KASUS
Yaaak, jawaban yang pas mungkin demikian. Terserah kepada Anda apakah mau belajar Linux/UNIX atau tidak. Sebagian orang punya keinginan untuk mengembangkan diri, sedang sebagian lagi "cari yang praktis saja". Bagi yang punya keinginan mengembangkan diri (baca : menambah pengetahuan) pasti pertanyaan di atas dijawab dengan "perlu".
Tulisan ini tidak bermaksud untuk "memaksa Anda" untuk belajar Linux, tapi untuk "mengenal" kelebihan Linux. Selanjutnya : terserah Anda (begitu bunyi salah satu iklan yang populer di Indonesia).
Baru-baru ini, seorang rekan saya yang sedang melakukan penelitian dengan sebuah software komersial yang dijalankan dengan sistem operasi UNIX menceritakan problem yang dialaminya kepada saya. Problemnya adalah sebagai berikut : Software komersial yang digunakannya menghasilkan sebuah file ASCII yang cukup panjang (puluhan ribu baris ...!!). Dari file ASCII tersebut dia harus mengambil data tertentu (nilai x dan y) dan menyimpannya ke sebuah file yang lain, untuk dibuatkan kurva berdasarkan harga-harga yang diambilnya. "Gimana ngedit-nya kalau begini?" , tanya teman saya. Itu baru satu file. Kalau satu hari sepuluh file ... ???
Ketika saya perhatikan, file output dari software tersebut memiliki pola yang berulang (karena memang biasanya demikian, untuk memudahkan kita .... !!!). Polanya kurang lebih seperti ini (misalnya) :
x-value= 0.0000e+00 y-value= 1.0000e+00 .......................... (angka-angka) .......................... (angka-angka) ::: ::: (masih ada angka lagi) ::: x-value= 1.0000e+00 y-value= 2.5000e+00 .......................... .......................... ::: ::: (dan seterusnya) :::
PROBLEM SOLVING
Saya-pun memberitahukan rekan saya tersebut beberapa rahasia Linux/UNIX. Rahasianya adalah sebagai berikut : Andaikan file ASCII tersebut bernama dataku. Maka untuk membuat file output yang berbentuk data x dan y, maka kita cukup gunakan kombinasi perintah Linux seperti cat, grep, awk, paste, ">" (redirection), dan "|" (pipe).
Sebagai contoh, bila kita ketikkan
cat dataku | grep 'x-value='maka kita akan dapatkan keluaran di layar monitor sebagai berikut :
x-value= 0.0000e+00 x-value= 1.0000e+00 ::: ::: (dan seterusnya) :::Kalau kita gabungkan dengan awk :
cat dataku | grep 'x-value=' | awk '{print $2}'maka kita akan dapatkan :
0.0000e+00 1.0000e+00 ::: ::: (dan seterusnya) :::Untuk menyimpan ke file kita gunakan tanda ">" dan nama file output. Jadi lengkapnya
cat dataku | grep 'x-value=' | awk '{print $2}' > dataxUntuk menyimpan data y, cukup ketikkan :
cat dataku | grep 'y-value=' | awk '{print $2}' > datayBagaimana menggabung kedua file tersebut? Cukup gunakan :
paste -d' ' datax datay > dataxyKalau kita display isi file dataxy dengan more dataxy atau cat dataxy maka akan kita dapatkan :
0.0000e+00 1.0000e+00 1.0000e+00 2.5000e+00 ::: ::: (dan seterusnya) :::Untuk membuat plot-nya, bisa digunakan gnuplot atau perangkat lunak lainnya.
AKHIR CERITA
Rekan saya segera mencoba resep tersebut, dan tidak lama kemudian dia telah tersenyum lebar. Kesimpulannya ? IT'S UP TO YOU .