ওএসএক্স মাভারিক্স ট্যাগগুলি কি কমান্ড লাইন থেকে দৃশ্যমান?


13

উদাহরণস্বরূপ, ধরুন আমার কাছে একটি ডিরেক্টরি কাঠামো রয়েছে যেমন

/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]

কমান্ড লাইন থেকে, ls"ম্যাথ" হিসাবে ট্যাগ করা সমস্ত ফাইল প্রদর্শন করার জন্য কি আমি কোনও উপায় ব্যবহার করতে (বা এর মতো কিছু) করতে পারি?

সম্পাদনা: আমি একটি সরঞ্জাম তৈরি করেছি যা tfindএটি করে: https://github.com/tlehman/bin/blob/master/tfind


2
দেখুন github.com/jdberry/tag
mankoff

1
আমি tagজেমস বেরি- র প্রস্তাবনাটি দ্বিতীয় স্থানে রেখেছি https://github.com/jdberry। আপনি এটির মাধ্যমে ইনস্টল করতে পারেন brew install tag, এর মাধ্যমে একটি ট্যাগ যুক্ত করতে পারেন , এর মাধ্যমে tag -a <tag> <file>ট্যাগগুলি সন্ধান করতে পারেন tag -f <tag1, tag2>। খুব, খুব সহজ, আমি এটি সর্বদা ব্যবহার করি।
ক্রিস কনভারের

হ্যাঁ, অবশ্যই tagকমান্ডটি পান খুব সহজেই ব্রুয়ের মাধ্যমে ইনস্টল করে।
জ্যাকব

উত্তর:


11

আমি ধরে নিচ্ছি যে তারা বর্তমানে দশ দশমিক ৩.৩ (এবং আরও পুরানো) এর মতো তারা এক্সএটার হবে

বর্তমানে, আপনি যা বর্ধিত বৈশিষ্ট্যাবলী একটি ফাইলের সাথে আছে দেখতে পারেন ls -l@

তবে বৈশিষ্ট্যের সামগ্রীগুলি দেখতে আপনাকে ব্যবহার করতে হবে xattr


আপনি ঠিক বলেছেন, ট্যাগগুলি একটি xattr হিসাবে সংরক্ষণ করা হয়েছে
tlehman

এফওয়াইআই: ওএস এক্স এল ক্যাপিটেনের সাহায্যে, আমি কমান্ডটি ব্যবহার করেছি xattr -pl com.apple.metadata:_kMDItemUserTags filename। তবে এটি খুব বন্ধুত্বপূর্ণ আউটপুট ছিল না।
এলএস

13

হ্যাঁ, আপনি এমন ফাইলগুলি সন্ধান করতে পারেন যা একটি প্রদত্ত ইউজার ট্যাগ ব্যবহার করে mdfind

একটি ফাইল তৈরি করুন এবং এটিকে ফাইন্ডারে একটি কাস্টম ট্যাগ বরাদ্দ করুন।

তারপরে একটি টার্মিনালে যান; আপনি এটি সঙ্গে পাবেন:

mdfind "kMDItemUserTags == Math || kMDItemUserTags == Programming"

অথবা

mdfind "kMDItemUserTags == Math && kMDItemUserTags == Programming"

-onlyin aFolderঅনুসন্ধান সীমাবদ্ধ করতে আরও দেখুন ।

এই বুলিয়ান এক্সপ্রেশনগুলি কতটা জটিল হতে পারে তা আমি পরীক্ষা করে দেখিনি, তবে এই দুটি উদাহরণ কাজ করে।

আপনি এটি পছন্দ করতে আউটপুট পাইপ করতে lsপারেন:

mdfind "kMDItemUserTags == mathTag || kMDItemUserTags == anotherTag" \
| while read f; do ls "$f"; md5 "$f"; done

এছাড়াও, এমডিফাইন্ডের "-0" বিকল্প রয়েছে

    -0                Use NUL (``\0'') as a path separator, for use with xargs -0.

যা দুষ্টু ফাইলের নাম সহ ব্যবহারিক হতে পারে।


এই পদ্ধতির সমস্যাটি হ'ল এটি সমস্ত ফাইল খুঁজে পায় না, কেবলমাত্র একটি (সম্ভবত খালি) উপ-সেটটি ফিরছে।
markvgti

3
দেখে মনে হচ্ছে তারা একটি সরলীকৃত এনেছি mdfind: ট্যাগ, যেমন জন্য সিনট্যাক্স mdfind "tag:Math",mdfind "tag:Math OR tag:Programming"
wjv

1
@ অ্যান্টাইনলেকাইল আমার কাছে "কমলা" ট্যাগ (ম্যাভারিক্সে আপগ্রেড করার আগে কমলা লেবেল) সহ একটি ডিরেক্টরিতে 295 টি ফাইল রয়েছে। এই কমান্ডটি তাদের মধ্যে কেবল 11 টির তালিকাবদ্ধ করে। এছাড়াও "সবুজ" ট্যাগযুক্ত অনেকগুলি ফাইল --- এই আদেশটি তাদের কোনওটিই খুঁজে পায় না।
markvgti

1
@wjv আমি আপনার প্রস্তাবিত বাক্য গঠনটি ব্যবহার করেছি এবং আমি উপরে উল্লিখিত ঠিক একই ফলাফল পেয়েছি।
মার্কভিজিটি

1
@markvgti তারপরে একটি কমলা ফাইল যা এই কমান্ডের সাথে পাওয়া যায় এবং যেটি পাওয়া যায় না তা নিয়ে যান এবং এক্সএটিআর বা এমডিএলএসের সাথে পার্থক্য খুঁজে পান?
অ্যালকাইল

4

আপনি এতে ফাইলের সমস্ত ট্যাগ পেতে পারেন:

mdls -name kMDItemUserTags filename


এটি যা চেয়েছিল তার বিপরীত বলে মনে হচ্ছে। আপনার কমান্ড একটি ফাইলের জন্য সমস্ত ট্যাগ ডাম্প করে। আমি মনে করি ওপি একটি ট্যাগ সহ সমস্ত ফাইল জানতে চায়।
bmike

2
এখনও, দরকারী। আমি গুগলড এবং এখানে শেষ হওয়ার পরে এটি আমার প্রশ্নের উত্তর দেয়। যদি এটির একটি আলাদা প্রশ্নোত্তর নেই তবে এটি নিজের পোস্ট করতে এবং উত্তর দেওয়ার প্রচেষ্টা হতে পারে।
স্লিপ ডি থম্পসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.