awk : memisahkan baris genap dan ganjil

Adakalanya kita ingin memisahkan baris genap dan baris ganjil dari suatu file. Kalau jumlah barisnya sedikit, memisahkan baris genap dan ganjil bisa dilakukan secara manual. Tetapi kalau jumlah barisnya jutaan, hal tersebut tidak mungkin dilakukan secara manual. Bisa saja membuat program kecil untuk membaca baris per baris, kemudian disave ke dua file terpisah, antara baris genap dan baris ganjil. Tetapi kalau anda memakai linux, bisa memanfaatkan awk. Contoh pemakaian awk untuk memisahkan baris genap dan ganjil dapat dilihat pada tampilan berikut:

Screen Shot 2017-07-04 at 3.32.02 PM

File contoh.txt berisi 10 baris. Masing-masing baris berisi satu huruf : a, b, … dan j pada baris ke-10. NR adalah Number of Records Variable, yang menunjukkan banyaknya total baris yang diolah, atau line number.

‘NR%2==0’  artinya, “jika modulo (sisa pembagian) nomer baris dengan 2 = 0”, atau dengan kata lain “jika baris genap”. Demkian juga dengan “NR%2==1” yang berarti “jika baris ganjil”.

Iklan

Tentang Anto Satriyo Nugroho

My name is Anto Satriyo Nugroho. I am working as research scientist at Center for Information & Communication Technology, Agency for the Assessment & Application of Technology (PTIK-BPPT : Pusat Teknologi Informasi & Komunikasi, Badan Pengkajian dan Penerapan Teknologi). I obtained my doctoral degree (Dr.Eng) from Nagoya Institute of Technology, Japan in 2003. My office is located in Serpong, Tangerang Selatan City. My research is on pattern recognition and image processing with applied field of interests on biometrics identification & development of computer aided diagnosis for Malaria. Should you want to know further information on my academic works, please visit my professional site at http://asnugroho.net
Pos ini dipublikasikan di linux. Tandai permalink.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s