Materi
Tanda garis tegak mengalirkan keluaran perintah di kirinya menjadi masukan perintah di kanannya. Rangkaian ini disebut pipa, dan setiap perintah di dalamnya mengerjakan satu tugas kecil.
cat absensi.csv | wc -lMemilih kolom dengan cut
Perintah cut memotong kolom. Opsi -d menentukan pemisah kolomnya dan -f menentukan nomor kolom yang diambil. Beberapa kolom sekaligus ditulis sebagai daftar bernomor, misalnya -f 1,3.
cut -d , -f 3 absensi.csv
cabang
Bandung
BekasiMengurutkan dan menghitung
Perintah sort mengurutkan baris, dan uniq menggabungkan baris kembar yang berurutan. Karena uniq hanya melihat baris tetangganya, datanya diurutkan lebih dulu. Opsi -c pada uniq menambahkan jumlah kemunculan di depan tiap baris.
cut -d , -f 4 absensi.csv | sort | uniq -c
4 hadir
1 izin
1 sakit
1 statusOpsi -n pada sort mengurutkan sebagai angka, bukan sebagai teks, dan -r membalik urutannya. Tanpa -n, angka 100 berada sebelum 20 karena yang dibandingkan huruf pertamanya. Perintah tr mengganti karakter, misalnya huruf kecil menjadi huruf besar, dan hanya menerima masukan dari pipa.
cat cabang.txt | tr a-z A-ZContoh di luar latihan: berkas log kunjungan berkolom tanggal, halaman, dan kode_status. Memotong kolom halaman lalu merangkainya dengan sort, uniq -c, dan sort -nr menaruh halaman paling sering dibuka di baris teratas.
Kesalahan umum: memakai uniq tanpa mengurutkan lebih dulu, sehingga baris kembar yang berjauhan tetap terhitung sendiri-sendiri dan hasilnya salah tanpa pesan error. Kesalahan kedua: lupa opsi -f pada cut, yang dijawab cut: you must specify a list of fields.