Saya memiliki folder induk bernama "parent_folder" dengan banyak subfolder, dalam subfolder ini adalah file bernama "foo.mp4".
Saya dapat menemukan file-file ini dengan mudah dengan melakukan ini:
mymacbook:parent_folder username$ find ./ -name "foo.mp4" -exec echo {} \;
Sekarang mengembalikan path dari setiap file, relatif ke parent_folder /
./path/to/foo.mp4
Bagaimana saya bisa mengembalikan path saja, tanpa nama file?
find ./ -name "foo.mp4" -printf "%h\n"
akan mencetak jalur ke untuk setiap file yang ditemukan (satu demi satu). Terlebih lagi seperti biasa tidak ada yang menggunakan -exec echo {}
karena itu ada -print
(default bahkan dihilangkan) atau printf
tindakan.
-printf
hanya untuk GNU. OP menyebutkan OS / X (sistem BSD).
-printf
%h
Memimpin direktori nama file (semua kecuali elemen terakhir). Jika nama file tidak mengandung garis miring (karena berada di direktori saat ini)% h specifier diperluas ke "." .