Pipes, Search & Redirection
Gabungkan command Linux untuk filter, cari, dan simpan output
Pipes, Search & Redirection
Skill ini penting saat debugging: kamu jarang butuh semua output, biasanya hanya bagian tertentu.
Redirection Dasar
Purpose: Menyimpan output command ke file. Inputs: output command. Outputs: file log atau catatan. Steps:
>menimpa isi file.>>menambahkan di akhir file.2>menyimpan error output. Pitfalls: tidak sengaja overwrite file penting. Validation: cek isi file hasil redirect.
ls -la > notes_ls.txt
date >> notes_ls.txt
ls /path/yang/salah 2> errors.txtPipe untuk Filtering
Purpose: Mengalirkan output dari satu command ke command lain. Inputs: output command pertama. Outputs: hasil filter yang lebih fokus. Steps:
- Jalankan command utama.
- Pipe ke
grepuntuk kata kunci. - Tambahkan
wc -luntuk hitung jumlah. Pitfalls: kata kunci terlalu umum, hasil terlalu banyak. Validation: output sesuai keyword yang dicari.
history | grep ros2
rg "source install/setup.bash" docs/content/docs | wc -lUntuk pencarian teks di repo, prioritaskan rg karena lebih cepat dari grep
untuk codebase besar.
Interactive Demo: Filter & Redirect Lab
Gunakan simulator berikut untuk latihan command |, >, dan >> dengan skenario yang mirip workflow real.
Interactive Demo: Filter & Redirect Lab
Step 1/4Sorting dan Dedup
Purpose: Merapikan data list dari output command. Inputs: daftar item dari file atau command. Outputs: list terurut dan unik. Steps:
- Pipe output ke
sort. - Lanjutkan ke
uniq. Pitfalls:uniqhanya menghapus duplikat berurutan, jadi biasanya perlusortdulu. Validation: tidak ada item duplikat di output akhir.
rg --files docs/content/docs/learning | sed 's#.*/##' | sort | uniqPola Debug Cepat
Purpose: Mengambil informasi penting dari output panjang. Inputs: output command runtime. Outputs: ringkasan error/warning. Steps:
- Jalankan command.
- Pipe ke
grep -iuntuk error/warn. - Simpan hasil ke file log.
Pitfalls: hanya mencari
errorbisa melewatkan warning kritis. Validation: file log hanya berisi baris relevan.
pnpm -C docs exec tsc --noEmit 2>&1 | grep -Ei "error|warning" > tsc-issues.logNext Steps
Lanjut ke Bash Scripting Basics.