Unix / Linux - Pipes and Filters

Halo teman-teman, para ahli Unix/Linux masa depan! Hari ini, kita akan memulai perjalanan yang menarik ke dunia pipa dan filter. Jangan khawatir jika Anda baru belajar programming - saya akan memandu Anda langkah demi langkah, seperti yang telah saya lakukan untuk ribuan murid selama tahun-tahun mengajar saya. Ayo masuk ke dalam!

Unix / Linux - Pipes & Filters

Apa Itu Pipes dan Filters?

Sebelum kita masuk ke detail, mari pahami apa itu pipa dan filter. Bayangkan Anda di dapur, mempersiapkan makanan yang lezat. Anda memiliki berbagai peralatan yang masing-masing melakukan tugas tertentu - pisau untuk memotong, blender untukcampur, penyaring untuk, well, penyaringan! Di Unix/Linux, pipa dan filter bekerja sama seperti itu.

  • Filters adalah perintah yang mengambil input, memprosesnya, dan menghasilkan output.
  • Pipes adalah "pipa" yang menghubungkan filter ini, memungkinkan data mengalir dari satu perintah ke perintah lain.

Bersama-sama, mereka membentuk sistem yang kuat untuk memproses dan memanipulasi data. Sekarang, mari kita lihat beberapa perintah paling umum dan berguna.

Perintah grep

Apa itu grep?

grep adalah singkatan dari "Global Regular Expression Print". Itu seperti alat pencari super yang membantu Anda menemukan pola tertentu dalam teks.

Penggunaan Dasar

Ini adalah sintaks dasar:

grep [options] pattern [file...]

Mari kita mulai dengan contoh sederhana. Perkirakan kita memiliki file yang disebut fruits.txt dengan isi berikut:

apple
banana
cherry
date
elderberry
fig
grape

Jika kita ingin menemukan semua buah yang mengandung huruf 'a', kita dapat menggunakan:

grep 'a' fruits.txt

Ini akan menghasilkan:

apple
banana
grape

Opsi Berguna

Berikut adalah beberapa opsi yang berguna untuk grep:

Opsi Deskripsi
-i Abaikan perbandingan huruf besar/kecil
-v Balikkan pencocokan (tampilkan baris yang tidak cocok)
-n Tampilkan nomor baris
-c Hitung baris yang cocok

Mari kita coba beberapa:

grep -i 'A' fruits.txt  # Temukan 'a' atau 'A'
grep -v 'a' fruits.txt  # Temukan baris tanpa 'a'
grep -n 'e' fruits.txt  # Tampilkan nomor baris untuk baris dengan 'e'
grep -c 'r' fruits.txt  # Hitung baris yang mengandung 'r'

Perintah sort

Apa itu sort?

sort melakukan apa yang Anda harapkan - itu mengurutkan hal-hal! Itu seperti memiliki asisten yang membantu yang dapat mengatur data Anda secara alphabetik atau numerik dengan cepat.

Penggunaan Dasar

Sintaks dasar adalah:

sort [options] [file...]

Menggunakan file fruits.txt kami:

sort fruits.txt

Ini akan menghasilkan:

apple
banana
cherry
date
elderberry
fig
grape

Opsi Berguna

Berikut adalah beberapa opsi umum untuk sort:

Opsi Deskripsi
-r Urutkan secara terbalik
-n Urutkan secara numerik
-u Hapus duplikat
-k Urutkan berdasarkan field tertentu

Mari kita coba ini:

sort -r fruits.txt  # Urutkan secara terbalik

Sekarang, mari kita buat file numbers.txt dengan beberapa angka:

5
2
8
1
3

Kita dapat mengurutkan ini secara numerik:

sort -n numbers.txt

Perintah pg dan more

Apa itu pg dan more?

pg dan more adalah program paging. Mereka seperti pelayan yang sopan yang melayani data Anda satu halaman demi halaman, bukan sekali gus semuanya.

Penggunaan Dasar

Untuk more:

more [options] [file...]

Untuk pg:

pg [options] [file...]

Mari kita coba more dengan file yang lebih panjang. Kita akan membuat long_text.txt dengan isi tutorial ini:

more long_text.txt

Ini akan menampilkan konten satu layar demi layar. Tekan spasi untuk melihat halaman berikutnya, atau 'q' untuk keluar.

pg bekerja secara mirip, tetapi menawarkan lebih banyak fitur:

pg long_text.txt

Dengan pg, Anda dapat menggunakan ':n' untuk pergi ke halaman berikutnya, ':p' untuk halaman sebelumnya, dan '/pattern' untuk mencari teks.

Menggabungkan Semua: Kekuatan Pipa

Sekarang bagian yang menarik - menggabungkan perintah ini dengan pipa! Simbol pipa '|' menghubungkan output dari satu perintah ke input perintah lain.

Mari kita buat file employees.txt dengan konten berikut:

Alice,Sales,50000
Bob,Marketing,45000
Charlie,Engineering,60000
David,Sales,55000
Eve,Marketing,48000
Frank,Engineering,62000

Sekarang, mari kita gunakan pipa untuk melakukan sihir:

grep 'Sales' employees.txt | sort -k3 -nr

Perintah ini melakukan dua hal:

  1. grep 'Sales' employees.txt menemukan semua baris yang mengandung 'Sales'
  2. Output kemudian dipipa ke sort -k3 -nr, yang mengurutkan secara numerik (-n) dalam urutan terbalik (-r) berdasarkan field ketiga (-k3), yang adalah gaji.

Hasilnya:

David,Sales,55000
Alice,Sales,50000

Apakah itu menarik? Kita telah menyaring dan mengurutkan data dalam satu langkah!

Kesimpulan

Dan begitulah, teman-teman! Kita telah melakukan perjalanan melalui negeri pipa dan filter, bertemu dengan grep yang kuat, sort yang rapi, dan more serta pg yang sabar. Ingat, latihan membuatah. Cobalah menggabungkan perintah ini dalam berbagai cara, dan Anda akan segera menjadi ahli pipa Unix/Linux!

Selamat coding, dan semoga pipa Anda selalu bebas dari gangguan dan filter Anda selalu bersih!

Credits: Image by storyset