Folder Cerdas Kecualikan Folder
Akhirnya saya ingin hasil dari perintah find ini menjadi folder pintar.
Kriteria tidak terlalu rumit:
- nama harus "README.md"
- jenis harus berupa file
- path seharusnya tidak mengandung "node_modules"
find /Users/me/Documents -type f -name README.md -not -path "*/node_modules/*"
Masalahnya adalah bahwa daftar operator kriteria folder pintar tampaknya tidak memiliki does not contain
opsi.
Opsi yang tersedia adalah:
- cocok
- mengandung
- dimulai dengan
- berakhir dengan
- adalah
- tidak
Apakah mungkin untuk mencapai ini dan jika demikian, bagaimana caranya?
Edit 1
Saya menemukan bahwa dengan menahan tombol opsi, saya dapat menambahkan klausa negasi ke kriteria pencarian folder pintar, tetapi sepertinya saya tidak berhasil mengecualikan folder node_modules. Tidak jelas kriteria mana yang digunakan tetapi tidak satupun yang saya coba tampaknya berfungsi:
- Wadah dokumen
- Berisi Nama Folder
- Nama folder
Saya telah mencoba menggabungkan ini dengan operator berikut:
- mengandung
- cocok
dan dengan ketentuan sebagai berikut:
- node_modules
- node_modules
dalam hal ini mendukung pencarian wildcard.
Saya telah mencoba semua kombinasi filter, operator, dan istilah di atas.
Dokumentasi sangat buruk pada subjek.
sumber
Jawaban:
Sepertinya kMDItemPath tidak dapat melakukan apa yang Anda butuhkan:
tanpa hasil dalam sorotan-dalam-penelusuran-terhadap-kmditempath
Beberapa alternatif potensial dibahas di sini:
cara-mencari-file-dalam-sorotan-menggunakan-folder-dan-file-nama
sumber
Ada solusi, tetapi tidak terlalu cantik. Namun, itu akan melayani tujuan Anda jika Anda hanya ingin mengakses README Anda dalam satu folder (menggunakan kriteria yang telah Anda tentukan), dan memiliki gagasan dari mana mereka berasal.
Idenya adalah menggunakan skrip shell Anda untuk menemukan file yang tepat, dan kemudian mengumpulkan alias untuk setiap file dalam satu direktori. Kami kemudian mengganti nama alias untuk memberi tahu kami direktori induk mana file asli milik.
Applescript untuk melakukan ini ada di bawah ini. Kelihatannya jelek di sini, tetapi coba tempelkan ke Script Editor dan kompilasi, dan Anda harus bisa melihat logikanya.
sumber