Belajar dengan membaca secara berurutan

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.

Output mengalir ke input berikutnya
cat fruits.txt|wc -lkeluarkan 3 baristeruskan outputje inputterima dan tampilkanjumlah baris 3
| 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

① Buat baris 1 dengan echo apple > fruits.txt, lalu tambahkan dengan echo banana >> fruits.txt dan echo cherry >> fruits.txt untuk membuat file bahan 3 baris.

② Teruskan output dari cat fruits.txt ke wc -l melalui pipe, dan pastikan jumlah baris ditampilkan.

③ Pastikan angka yang ditampilkan sesuai dengan jumlah baris dalam bahan. (Jalankan dengan benar dan penjelasan akan muncul.)

Linux console
0 / 4 selesai
Loading Linux Terminal...

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

① Buat baris 1 dengan echo x > items.txt, lalu tambahkan dengan echo y >> items.txt dan echo z >> items.txt untuk membuat bahan 3 baris.

② Teruskan output dari cat items.txt ke sort melalui pipe, dan pastikan baris-baris ditampilkan terurut secara alfabet.

③ Selanjutnya, teruskan output dari cat items.txt ke sort, lalu jalankan pipe 3 tahap yang menghubungkan hasilnya ke wc -l dengan satu pipe lagi, dan pastikan jumlah baris ditampilkan.

Linux console
0 / 5 selesai
Loading Linux Terminal...
PerintahPeran dalam pipe
|Meneruskan output kiri ke input kanan
wc -lMenghitung baris yang diterimanya
sortMengurutkan baris yang diterimanya secara alfabet
uniqMenggabungkan baris duplikat yang bersebelahan menjadi satu
head / tailMengambil 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 secara alfabet
cat fruits.txt|sortbanana / apple / cherryteruskan outputje inputapple / banana /cherry (terurut)
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

① Buat baris 1 dengan echo banana > fruits.txt, lalu tambahkan dengan echo apple >> fruits.txt dan echo cherry >> fruits.txt untuk membuat 3 baris dalam urutan acak.

② Teruskan output dari cat fruits.txt ke sort melalui pipe, dan pastikan baris-baris ditampilkan terurut secara alfabet.

Linux console
0 / 4 selesai
Loading Linux Terminal...

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.

Kumpulkan dengan sort, hapus duplikat dengan uniq
cat list.txtsortuniqpear / apple / pear(3 baris)apple / pear / pear(terurut)apple / pear(dikurangi)
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.

① Buat baris 1 dengan echo pear > list.txt, lalu tambahkan dengan echo apple >> list.txt dan echo pear >> list.txt untuk membuat 3 baris yang mengandung duplikat.

② Teruskan output dari cat list.txt ke sort melalui pipe agar baris-baris identik bersebelahan.

③ Kemudian hubungkan output tersebut ke uniq, dan pastikan duplikat yang bersebelahan digabungkan menjadi satu baris.

Linux console
0 / 5 selesai
Loading Linux Terminal...
QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Apa yang dilakukan simbol pipe |?

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?