Soal 1Apa yang dilakukan simbol pipe |?
Pipe — Menghubungkan Perintah
Pelajari cara pipe meneruskan output satu perintah ke berikutnya, menghitung baris dengan wc -l, mengurutkan dengan sort, dan kombinasi klasik sort | uniq untuk menghapus duplikat — praktik langsung di terminal browser.
Apa itu Pipe — Simbol |
Pipe | adalah simbol yang meneruskan output satu perintah langsung ke perintah berikutnya sebagai inputnya.
Dengan memproses hasil satu perintah menggunakan perintah lain, kamu menggabungkan perintah-perintah kecil untuk menyelesaikan pekerjaan.
Ini adalah filosofi desain Unix: membangun pemrosesan dengan menghubungkan alat-alat yang masing-masing punya satu tujuan.
| meneruskan output kiri ke input kanan, menghubungkan perintah-perintah yang masing-masing punya satu tujuan.echo apple > fruits.txt # buat baris 1
echo banana >> fruits.txt # tambahkan
echo cherry >> fruits.txt # tambahkan
cat fruits.txt | wc -l # hitung baris -> 3
ls / | wc -l # jumlah item di root
Apa Pun Bisa Dihubungkan
Pipe tidak terikat pada perintah-perintah tertentu.
Perintah mana pun yang menghasilkan standard output dan perintah mana pun yang menerima standard input bisa dihubungkan secara bebas.
Ada tak terhitung kombinasi: ls | wc -l untuk menghitung file, cat file | sort untuk mengurutkan, dan sebagainya.
echo log1 > lines.txt # buat baris 1
echo log2 >> lines.txt # tambahkan
echo log3 >> lines.txt # tambahkan
cat lines.txt | wc -l # 3
ls /etc | wc -l # jumlah item di /etc
| Perintah | Peran dalam pipe |
|---|---|
| | Meneruskan output kiri ke input kanan |
wc -l | Menghitung baris yang diterimanya |
sort | Mengurutkan baris yang diterimanya secara alfabet |
uniq | Menggabungkan baris duplikat yang bersebelahan menjadi satu |
head / tail | Mengambil hanya awal / akhir dari yang diterimanya |
Mengurutkan — sort
sort adalah perintah yang mengurutkan baris yang diterimanya.
Secara default ia mengurutkan secara alfabet (dalam urutan string).
Ia bisa mengambil output perintah sebelumnya melalui pipe dan meneruskan hasil terurut ke layar atau perintah berikutnya.
sort mengurutkan baris yang diterima melalui pipe secara alfabet dan mengeluarkannya.echo banana > fruits.txt # buat dalam urutan acak
echo apple >> fruits.txt
echo cherry >> fruits.txt
cat fruits.txt | sort # diurutkan menjadi apple / banana / cherry
Menghapus Duplikat — uniq
uniq adalah perintah yang menggabungkan baris duplikat yang berurutan menjadi satu.
uniq hanya melihat baris yang bersebelahan, sehingga tidak bisa menggabungkan baris identik yang berjauhan.
Jika kamu ingin mengurangi duplikat menjadi satu baris secara andal, pendekatan klasiknya adalah sort | uniq: kumpulkan baris yang sama bersebelahan dengan sort terlebih dahulu, lalu hubungkan ke uniq.
sort mengumpulkan duplikat berdampingan, dan uniq menggabungkan duplikat berurutan menjadi satu.echo pear > list.txt # buat dengan duplikat
echo apple >> list.txt
echo pear >> list.txt
cat list.txt | sort # apple / pear / pear
cat list.txt | sort | uniq # apple / pear
sort sebelum uniq
uniq memperlakukan hanya baris yang bersebelahan sebagai duplikat.
Ia tidak bisa menggabungkan baris identik yang berjauhan, jadi jika kamu ingin mengurangi duplikat menjadi satu baris, urutkan dulu dengan sort kemudian hubungkan ke uniq.
Cek Pemahaman
Jawab setiap pertanyaan satu per satu.
Soal 2Apa yang ditampilkan saat kamu menjalankan cat fruits.txt | wc -l?
Soal 3Jika kamu ingin menggabungkan baris duplikat menjadi satu, perintah mana yang efektif untuk dihubungkan sebelum uniq?