Saya menggunakan Linux (Ubuntu) dan saya ingin mengecualikan direktori tertentu (seperti .hg) ketika saya melakukan
find | less
Saya mencoba yang berikut untuk mengecualikan direktori .hg dari daftar, tetapi sepertinya tidak berhasil.
find -type d ( ! -iname .hg )
find -type d ( ! -name .hg )
find -type d ( ! -iname .hg )
Bagaimana cara mengecualikan .directory
dalam perintah temukan
Jawaban yang Diterima:
Pada penelitian untuk find
yang serupa solusi Saya menemukan penjelasan yang bermanfaat tentang Bagaimana cara menggunakan opsi '-prune' dari 'temukan' di sh? oleh Laurence Gonsalves.
Anda dapat menggunakan sesuatu seperti:
find . ( -type d -name .hg -prune ) -o ( -type f -name "foo" -print )
atau (tanpa nama)
find . ( -type d -name .hg -prune ) -o ( -type f -print )
Tanda kurung (dihilangkan) (
dan )
kelompokkan tes (type
dan name
) dan tindakan yang sesuai (prune
dan print
, masing-masing) bersama-sama kiri dan kanan OR (-o
).
Sejak -o
memiliki prioritas lebih rendah daripada penjajaran, Anda dapat menghilangkan tanda kurung jika Anda mau. Banyak find
implementasi juga memungkinkan Anda melewati -print
final terakhir .
find . -type d -name .hg -prune -o -type f -name "foo" -print