Saya memiliki folder myfolder
yang berisi hierarki besar file / folder.
Bagaimana menemukan semua file yang dapat dieksekusi dalam folder ini?
Di Ubuntu ini berfungsi: find . -executable -type f
Tetapi Mac OS X Mavericks (yang juga menggunakan bash
) gagal mendapatkannya:
find: -executable: unknown primary or operator
-L
alih-alih-or -type l
menyebabkanstat
panggilan apa pun yang dilakukanfind
untuk mengembalikan statistik file yang ditautkan, bukan tautan itu sendiri.Saya tidak bisa membuat jawaban Ian berhasil (10.6.8), tetapi, berikut ini memberikan hasil yang diharapkan:
edit pembaruan
Ini sepertinya berhasil juga!
Saya kira "x" tidak ada artinya tanpa pengguna / grup / penentu lain.
sumber
Dari halaman manual untuk menemukan di OS X :
Jadi, Anda perlu:
Ingatlah bahwa OS X adalah berbasis BSD , bukan berbasis Linux, jadi perintah Gnu yang Anda gunakan dalam distribusi Linux (yang
find
salah satunya) tidak harus sama dengan yang ada di OS X. Ini bukan perbedaan shell, ini adalah perbedaan alat sistem operasi / utilitas sistem operasi.sumber
Pertanyaan yang sangat lama, saya tahu, tetapi mencari solusi saya mungkin telah menemukan jawaban yang lebih baik.
Masalah utama dengan menggunakan "find" adalah bahwa ia bergantung pada atribut yang disetel ke executable, bahkan jika atribut ini ditetapkan untuk file yang tidak dapat dieksekusi.
MacOS dilengkapi dengan alat baris perintah kecil yang berguna, "
file
", yang menampilkan informasi file, misalnya:Seperti yang Anda lihat, 'MyProgram' adalah executable, dan ditunjukkan dengan baik. Karena 32bit executable lama akan memiliki frasa "executable" juga, berikut ini harus mencantumkan semua executable true (binari):
Semoga ini bermanfaat bagi seseorang yang mencari jawaban untuk pertanyaan yang sama.
Catatan:
file
tampaknya tidak memiliki fungsi untuk muncul kembali melalui subdirektori.sumber