Sebagai contoh, misalkan saya memiliki struktur direktori seperti
/Users
/tlehman
/Math
algebraic_varieties.tex [tagged: Math, Documentation]
projective_geometry.pdf [tagged: Math]
/Development
visualize_surfaces.py [tagged: Math, Programming]
solve_polynomials.scm [tagged: Math]
/guest
/Desktop
welcome.rtf [tagged: Documentation]
/Volumes
/USBKey
assignments_for_may.txt [tagged: Math]
using_LaTeX.pdf [tagged: Documentation]
Dari baris perintah, apakah ada cara saya dapat menggunakan ls
(atau sesuatu seperti itu) untuk menampilkan semua file yang ditandai sebagai "Matematika"?
EDIT: Saya membuat alat bernama tfind
yang melakukan ini: https://github.com/tlehman/bin/blob/master/tfind
macos
command-line
filesystem
mavericks
tlehman
sumber
sumber
tag
oleh James Berry dihttps://github.com/jdberry
. Anda dapat menginstalnya melaluibrew install tag
, menambahkan tag melaluitag -a <tag> <file>
, mencari tag viatag -f <tag1, tag2>
. Sangat, sangat berguna, saya menggunakannya setiap saat.tag
perintahnya. Menginstal melalui minuman sangat mudah.Jawaban:
Saya berasumsi mereka akan menjadi xattr seperti saat ini di 10.8.3 (dan lebih lama)
Saat ini, Anda dapat melihat atribut diperluas yang dimiliki file
ls -l@
.Tetapi untuk melihat isi dari atribut, Anda harus menggunakan
xattr
.sumber
xattr -pl com.apple.metadata:_kMDItemUserTags filename
,. Namun, itu bukan keluaran yang sangat ramah.Ya, Anda dapat menemukan file yang menggunakan tag pengguna tertentu
mdfind
.Buat file dan tetapkan sebagai tag khusus di Finder.
Lalu pergi di terminal; Anda akan menemukannya dengan:
atau
Lihat juga
-onlyin aFolder
untuk membatasi pencarian.Saya tidak memeriksa seberapa kompleks ekspresi boolean ini, tetapi dua contoh ini berfungsi.
Anda dapat menyalurkan output ke
ls
seperti ini:Juga, mdfind memiliki opsi "-0"
yang bisa praktis dengan nama file jahat.
sumber
mdfind
sintaks untuk tag, misalnya:mdfind "tag:Math"
,mdfind "tag:Math OR tag:Programming"
Anda bisa mendapatkan semua tag file dengan:
mdls -name kMDItemUserTags filename
sumber