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!
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:
-
grep 'Sales' employees.txt
menemukan semua baris yang mengandung 'Sales' - 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