[EMAIL PROTECTED] sule]$ cat /home/web4txp/www/online/pesenan.txt 61 E 6 0BAA01 CP001 XQ01 GEN BUS DUCT PRES 19.53 mBAR 65 E 6 0HNC10 CP001A XQ01 IDF A INLET PRESSURE P1 52.32 mBAR 65 E 6 0HNC10 CP001A XQ02 IDF A INLET PRESSURE P1 1063.6 mBAR 65 E 6 0HNC10 CP002A XQ01 IDF A PRESSURE P12 NOD 22.00 mBAR
Misalkan bapak ingim mengambil angka sebelum mBAR. sebelumnya bapak harus menghitung dulu berapa banyak field kata yang tercantum disitu. cara menghitungnya sbb : 61 E 6 0BAA01 CP001 XQ01 GEN BUS DUCT PRES 19.53 mBAR 1 2 3 4 5 6 7 8 9 10 11 12 65 E 6 0HNC10 CP001A XQ01 IDF A INLET PRESSURE P1 52.32 mBAR 1 2 3 4 5 6 7 8 9 10 11 12 13 65 E 6 0HNC10 CP001A XQ02 IDF A INLET PRESSURE P1 1063.6 mBAR 1 2 3 4 5 6 7 8 9 10 11 12 13 65 E 6 0HNC10 CP002A XQ01 IDF A PRESSURE P12 NOD 22.00 mBAR 1 2 3 4 5 6 7 8 9 10 11 12 13 disini kita lihat bahwa antara baris pertama sampai baris keempat kemungkinan tidak semua sama jumlah fieldnya. dari perhitungan diatas bisa dilihat bahwa angka yang ingin kita ambil terletak di field nomor 11, 12, 12, 12. jadi, kita tidak bisa membuat suatu script untuk mengambil angka tersebut (karena nomor fieldnya tidak konsisten). tapi, masih ada satu kekonsistenan lagi dalam message_ooutput file pesenan.txt tersebut. yaitu, semua angka yang ingin kita ambil sama-sama terletak di field nomor dua terakhir. jadi penomorannya harus dari belakang sbb : 61 E 6 0BAA01 CP001 XQ01 GEN BUS DUCT PRES 19.53 mBAR 12 11 10 9 8 7 6 5 4 3 2 1 65 E 6 0HNC10 CP001A XQ01 IDF A INLET PRESSURE P1 52.32 mBAR 13 12 11 10 9 8 7 6 5 4 3 2 1 nah, dapet kalo ternyata angka yang ingin kita ambil terletak di field nomor 2 terakhir. :) oke...:) hhh...:) sekarang kita mau ambil field nomor 2 terakhir tersebut. yang dibutuhkan adalah membalik urutan penomoran. karena di bash ga ada perintah untuk membalik nomor urutan field, maka kita coba balik aja letak fieldnya. disini digunakan perintah "rev" . synonim dari reverse. sintaks rev akan membalik semua standard output. jadi kalo kamu jalankan perintah ini dengan diikuti kata2 yang ingin kamu balik, maka outputnya adalah kebalikan kata2 yang dituliskan tersebut. (kebalikan dari perintah echo) contoh : $ rev Denny Zulfikar rakifluZ ynneD dari prinsip tersebut marilah kita balik output dari file pesanan.txt untuk mendapatkan urutan field yang terbalik. 1. mula-mula tampilkan isi file pesanan.txt dengan perintah cat. 2. balik semua outputnya supaya didapatkan pengurutan dari belakang. 3. ambil hanya field nomor 2(sebenarnya field nomor 11/12 kalo ga dibalik) yang kita inginkan. gunakan perintah cut dengan delimiter (-d) spasi dan nomor field (-f) nomor 2. 4. balik lagi hasilnya dengan "rev". 5. oke deh dapet hasilnya....:) ini full sintaksnya : $ cat pesanan.txt | rev | cut -d ' ' -f2 | rev tracing scriptnya sbb: $ cat pesanan.txt 61 E 6 0BAA01 CP001 XQ01 GEN BUS DUCT PRES 19.53 mBAR 65 E 6 0HNC10 CP001A XQ01 IDF A INLET PRESSURE P1 52.32 mBAR 65 E 6 0HNC10 CP001A XQ02 IDF A INLET PRESSURE P1 1063.6 mBAR 65 E 6 0HNC10 CP002A XQ01 IDF A PRESSURE P12 NOD 22.00 mBAR $ cat pesanan.txt | rev RABm 35.91 SERP TCUD SUB NEG 10QX 100PC 10AAB0 6 E 16 RABm 23.25 1P ERUSSERP TELNI A FDI 10QX A100PC 01CNH0 6 E 56 RABm 6.3601 1P ERUSSERP TELNI A FDI 20QX A100PC 01CNH0 6 E 56 RABm 00.22 DON 21P ERUSSERP A FDI 10QX A200PC 01CNH0 6 E 56 $ cat pesanan.txt | rev | cut -d ' ' -f2 35.91 23.25 6.3601 00.22 $ cat pesanan.txt | rev | cut -d ' ' -f2 | rev 19.53 52.32 1063.6 22.00 Selamat mencoba...:) regards, Denny -- Unsubscribe: kirim email kosong ke [EMAIL PROTECTED] Arsip, FAQ, dan info milis di http://linux.or.id/milis Tidak bisa posting? Baca: http://linux.or.id/problemmilis http://linux.or.id/tatatertibmilis