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