fd - alternatif `find` yang sederhana, cepat, dan ramah pengguna
(github.com/sharkdp)fdadalah program untuk mencari entri di sistem berkas, sebagai alternatif yang lebih sederhana, lebih cepat, dan lebih ramah pengguna dibanding perintahfindyang ada- Meskipun tidak mendukung semua fitur
find, ia menyediakan nilai bawaan yang masuk akal untuk kasus penggunaan umum
- Meskipun tidak mendukung semua fitur
- Windows, macOS, Linux
- Sintaks yang intuitif: dapat digunakan secara sederhana dengan format
fd PATTERN(lebih praktis daripadafind -iname '*PATTERN*') - Mendukung regular expression dan pola glob
- Menawarkan performa cepat melalui penelusuran direktori paralel
- Penyorotan warna berdasarkan tipe file (mirip
ls) - Mendukung eksekusi perintah paralel
- Pembedaan huruf besar/kecil cerdas: secara default mengabaikan huruf besar/kecil, tetapi menjadi sensitif jika mengandung huruf besar
- Secara default mengabaikan file dan direktori tersembunyi
- Secara default mengabaikan pola
.gitignore - Nama perintahnya 50% lebih pendek dibanding
find
Cara penggunaan
- Mencari entri yang mengandung pola di direktori saat ini
fd netfl - Dapat mencari dengan regular expression
fd '^x.*rc$' - Mencari di direktori tertentu
fd passwd /etc - Menampilkan daftar semua file di bawah direktori saat ini secara rekursif
fd - Dapat mencari format file tertentu (gunakan opsi
-e)fd -e md - Dapat mencari nama file yang persis sama (gunakan opsi
-g)fd -g libc.so /usr - Mencari termasuk file tersembunyi dan file yang diabaikan (gunakan opsi
-H,-I)fd -H pre-commitfd -I num_cpu - Mencari di seluruh path, bukan hanya nama file (gunakan opsi
-p)fd -p '.*/lesson-\d+/[a-z]+.(jpg|png)' - Menjalankan perintah untuk setiap hasil pencarian (
-x)fd -e zip -x unzip - Meneruskan semua hasil pencarian ke satu perintah (
-X)fd -g 'test_*.py' -X vim - Sintaks placeholder
- {}: path lengkap hasil pencarian
- {.}: path tanpa ekstensi file
- {/}: nama file
- {//}: direktori induk
- {/.}: nama file tanpa ekstensi
- Dapat mengecualikan direktori atau file tertentu (gunakan opsi
-E)fd -H -E .git - Dapat membuat file
.fdignoreuntuk menetapkan pola pengecualian global - Dapat menghapus file yang ditemukan (
-X rm)fd -H '^\.DS_Store$' -tf -X rm
Opsi perintah utama
- -H: mencari termasuk file dan direktori tersembunyi
- -I: mengabaikan
.gitignoredan.fdignore - -p: mencari di seluruh path
- -e: mencari ekstensi tertentu
- -x: menjalankan perintah pada hasil pencarian
- -X: meneruskan semua hasil pencarian ke satu perintah
- -E: mengecualikan file atau direktori tertentu
Perbandingan performa (Benchmark)
- Hasil pengujian pencarian pada 750.000 direktori dan 4 juta file
- Performa
find: sekitar 19,9 detik - Performa
fd: sekitar 854,8 ms
- Performa
- 23 kali lebih cepat daripada
find
Integrasi dengan program lain
- Hasil pencarian
fddapat ditampilkan difzfexport FZF_DEFAULT_COMMAND='fd --type file' - Menampilkan hasil keluaran
fdsebagai menu dirofifd --type f -e pdf . $HOME | rofi -dmenu - Menampilkan hasil keluaran dalam struktur pohon
fd | tree --fromfile - Dapat menggunakan hasil pencarian di
xargsfd -0 -e rs | xargs -0 wc -l
2 komentar
Ada plugin neovim yang menggunakan fd, jadi saya menginstalnya dan sampai sekarang masih memakainya, hehe.
Komentar Hacker News