ম্যাক ওএসএক্স কমান্ড লাইনে ফাইল প্রতি ফাইল পরিবর্তন করে


10

আমাকে কমান্ড লাইনের মাধ্যমে নির্দিষ্ট ফাইলগুলির সাথে যুক্ত অ্যাপ্লিকেশন পরিবর্তন করতে হবে। আমি একটি নির্দিষ্ট ফাইল এক্সটেনশনের জন্য ফাইল সংস্থান পরিবর্তন করব না, আমি আসলে সেই ফাইল ধরণের জন্য ডিফল্ট সংস্থার চেয়ে আলাদা অ্যাপ্লিকেশনটিতে খোলার জন্য নির্দিষ্ট ফাইলগুলিকে লক্ষ্য করতে চাইছি। আমি কেবলমাত্র লক্ষ্যযুক্ত নির্দিষ্ট ফাইলগুলির জন্য এই ফাইল এক্সটেনশনের সামগ্রিকভাবে ডিফল্ট অ্যাপ্লিকেশনটি পরিবর্তন করতে চাই না।

এই মুহুর্তে, আমি ফাইন্ডারে পরিবর্তন করতে চাই সমস্ত ফাইল নির্বাচন করছি, একাধিক ফাইলের জন্য তথ্য প্রাপ্ত করতে + কমান্ড + i চাপুন এবং এই ফাইলগুলির জন্য অ্যাপ্লিকেশন পরিবর্তন করব। এটা একরকম বিরক্তিকর।

উত্তর:


6

এই তথ্য ফাইলের রিসোর্স ফর্ক ( উইকিপিডিয়া ) এ সংরক্ষণ করা হয়। এই সংস্থানগুলি কাঁটাচামচগুলি বর্ধিত বৈশিষ্ট্য ( উইকিপিডিয়া ) হিসাবে প্রকাশ করা হয়েছে :

$ ls -l@ somefile.txt 
-rw-r--r--  1 danielbeck  staff  0 18 Mär 19:00 somefile.txt

# setting non-default application using Finder

$ ls -l@ somefile.txt 
-rw-r--r--@ 1 danielbeck  staff  0 18 Mär 19:01 somefile.txt
        com.apple.ResourceFork  1338 

স্ক্র্যাচ থেকে সম্পাদনা করা সম্ভবত বেশ বেদনাদায়ক - প্রচুর বাইনারি ডেটা:

$ xattr -p com.apple.ResourceFork somefile.txt 
00 00 01 00 00 00 05 08 00 00 04 08 00 00 00 32
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 04 04 00 00 00 32 2F 55 73 65 72 73 2F 64
61 6E 69 65 6C 62 65 63 6B 2F 41 70 70 6C 69 63
61 74 69 6F 6E 73 2F 53 75 62 6C 69 6D 65 20 54
65 78 74 20 32 2E 61 70 70 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 01 00 00 00 05 08
00 00 04 08 00 00 00 32 0C 00 00 00 C0 05 00 00
00 1C 00 32 00 00 75 73 72 6F 00 00 00 0A 00 00
FF FF 00 00 00 00 19 00 00 00

তবে আপনি এই রিসোর্স ফর্কগুলির মতো ফাইলগুলি চিকিত্সা করতে পারেন। উদাহরণ স্বরূপ:

$ open somefile.txt # opens in Sublime 2
$ cp somefile.txt/..namedfork/rsrc openInSublime2rsrc
$ open otherfile.txt # opens in TextEdit
$ cp openInSublime2rsrc otherfile.txt/..namedfork/rsrc
$ open otherfile.txt # opens in Sublime 2

/..namedfork/rsrc কীভাবে রিসোর্স ফর্কটি পসিক্স অ্যাপ্লিকেশনগুলির কাছে প্রকাশিত হয় (যেমন সম্ভবত আপনি টার্মিনালে যা কিছু করেন) everything

সুতরাং আপনাকে কেবলমাত্র বিদ্যমান সংস্থান কাঁটা থেকে একটি "টেম্পলেট" ফাইল তৈরি করতে হবে (এই উদাহরণে openInSublime2rsrc), এবং আপনি এটির পরে আপনার অন্যান্য ফাইলগুলিতে অনুলিপি করতে পারেন।


1
এই সমাধানটি সিংহ পর্যন্ত কাজ করে। ফাইল / আরএসআরসি-তে অনুলিপি করা আমাকে একটি ": ডিরেক্টরি নয়" ত্রুটি দেয়। স্কোয়ার একটিতে ফিরে যান :(
রব

1
@ রব somefile.txt/..namedfork/rsrcপরিবর্তে ব্যবহার করার চেষ্টা করুন । somefile.txt/rsrcকিছুক্ষণ আগে অবহেলিত হয়েছে।
ড্যানিয়েল অঙ্গুলিনির্দেশ

ড্যানিয়েল বেক-আপনি একটি জীবনদাতা, আপনাকে অনেক ধন্যবাদ।
রব

আপনার নীচে আমার উত্তরটি সরাসরি রিসোর্স কাঁটাগুলি সম্পাদনা করার দরকার নেই, তবে সংক্ষিপ্তসারটি হ'ল আপনি রেস এবং ডিরিজ নামক ইউটিলিটিগুলি রিসোর্স ফর্কগুলি সম্পাদনা করতে ব্যবহার করতে পারেন। এগুলি বিকাশকারী সরঞ্জামগুলি সমর্থিত হওয়ায় আপনার সমস্যা হওয়ার সম্ভাবনা কম।
mauvedeity

5

উপরে ড্যানিয়েল বেকের উত্তর থেকে তুলে নেওয়া, এই তথ্যটি প্রকৃতপক্ষে ফাইলের সংস্থার ফর্মে সংরক্ষিত রয়েছে। অ্যাপল বিকাশকারী সরঞ্জামগুলির সাথে "রেজ" এবং "ডিআরজেজ" নামে দুটি ইউটিলিটি সরবরাহ করে যা আপনাকে সংস্থার কাঁটাচামচগুলি পরিচালনা করতে দেয়। বিশেষত, আপনি রেজ সহ একটি ফাইলের মধ্যে একটি সংস্থান ফর্ককে চাপ দিতে পারেন।

কমান্ড লাইন থেকে একটি একক ফাইলের সংস্থান পরিবর্তন করতে, প্রথমে সঠিক টাইপের একটি ফাইল তৈরি করুন, এবং ম্যানুয়ালি এটির যে অ্যাপ্লিকেশনটি আপনি এটি খুলতে চান তাতে এর সংযোগটি ম্যানুয়ালি বদলে দিন This এটি করবেন না, অনুলিপি করার কোনও তথ্য থাকবে না। তারপরে, ডিরিজের সাহায্যে রিসোর্স ফর্কটি টেনে আনুন (একটি ফাইল foo.txt ধরে নেওয়া এবং আপনি যে অ্যাপ্লিকেশনটি ব্যবহার করতে চান তা হ'ল ফায়ারফক্স.এপ)।

DeRez foo.txt > foo.r

এটি foo.r নামে একটি ফাইল তৈরি করবে যা পাঠ্য ফাইল হিসাবে ক্ষয়প্রাপ্ত রিসোর্স ফর্ক। এটি দেখতে এরকম কিছু দেখাবে:

data 'usro' (0) {
    $"0000 001A 2F41 7070 6C69 6361 7469 6F6E"            /* ..../Application */
    $"732F 4669 7265 666F 782E 6170 7000 0000"            /* s/Firefox.app... */
    $"0000 0000 0000 0000 0000 0000 0000 0000"            /* ................ */

আপনি এটিকে সম্পাদনা করতে পারেন যদি আপনি স্ক্র্যাচ থেকে একটি তৈরি করতে চান তবে আপনাকে ফর্ম্যাটটি ঠিক ঠিক পেতে হবে বা এটি কাজ করবে না। এটি কেবল হেক্স-এনকোড অক্ষরগুলি যা আপনি চান অ্যাপ্লিকেশন বান্ডিলটির পথ বর্ণনা করে, একটি শূন্য দিয়ে শেষ করে।

আপনি হয়ত একটি বার্তা দেখতে পাচ্ছেন যে রিসোর্স ফর্কটি খালি এবং অবিচ্ছিন্ন is যদি তা হয় তবে আপনি উত্স ফাইলে প্রতি-ফাইল অ্যাসোসিয়েশন পরিবর্তন করেন নি, তাই আপনাকে এটি করা দরকার, তারপরে ডিআরজ কমান্ডটি আবার চালান।

একবার আপনার এটি হয়ে গেলে, আপনি নীচে এটি অন্য ফাইলের মধ্যে চাপ দিতে পারেন (বার.টিএসটিটি অনুমান করে):

Rez foo.r -a -o bar.txt

এই foo.r. থেকে রিসোর্স কাঁটাচামচ সহ জায়গায় বার টেক্সট আপডেট করে

এটি ঠিকঠাক কাজ করেছে তা পরীক্ষা করতে, যেহেতু রেজ বা ডেরেজের ত্রুটি বার্তাগুলি কেউই মুদ্রণ করে না, কেবল এটি করুন:

DeRez bar.txt

আপনি আগের মত একই তথ্য দেখতে হবে। এত কিছুর পরে, আপনার বার্ষিকভাবে ফাইল বার্টটিএসটি খুলুন এবং এটি ডিফল্ট নয়, সঠিক অ্যাপ্লিকেশনটিতে খোলা উচিত।

ব্যাচের পরিবর্তন করতে, একবার আপনার কাছে .r ফাইলটি উপস্থিত হয়ে গেলে আপনি এই জাতীয় মানের ওয়াইল্ডকার্ড সম্প্রসারণ ব্যবহার করতে পারেন:

Rez foo.r -a -o *.txt

এটি ওয়াইল্ডকার্ডের সাথে মেলে এমন সমস্ত ফাইল করবে।

আমি এটি 10.7-এ করেছি, তবে এটি আমার বুঝতে পেরেছি যে এটি আগের মেশিনগুলিতেও কাজ করে।


এই সরঞ্জামগুলিতে আকর্ষণীয় তথ্য। তবুও, দেখে মনে হচ্ছে এই সরঞ্জামগুলি এমন কিছু ..namedfork/rsrcকরে না যা অ্যাক্সেসও করে না, সঠিক? আপনি নির্দিষ্ট সরঞ্জামগুলি সম্পর্কে জ্ঞানের জন্য (আধা) ইন্টার্নাল সম্পর্কে জ্ঞানের প্রয়োজনীয় ব্যবসায়ের বাণিজ্য করেন - আমি নিশ্চিত নই যে এটি আরও ভাল।
ড্যানিয়েল বেক

@ ড্যানিয়েলবেক আপনি যথাযথ, আমি যতদূর জানি। যাইহোক, উত্থিত হিসাবে বলা হয়েছিল, অভ্যন্তরীণ তথ্য সিংহের সাথে পরিবর্তিত হয়েছিল, যদিও এগুলি স্থিতিশীল ডিভাইস যা সংস্করণ-স্বতন্ত্র হওয়া উচিত। ব্যক্তিগতভাবে, আমি মনে করি অভ্যন্তরীণ জিনিসগুলি আকর্ষণীয়, তবে সরঞ্জামগুলি ক্রস-প্ল্যাটফর্মের কাজ করার সম্ভাবনা বেশি এবং আমি বরং সমর্থিত সরঞ্জামগুলি ব্যবহার করব।
mauvedeity


1

আপনি বলছেন যে আপনি কোনও নির্দিষ্ট ধরণের ফাইলের (উপ-) সেট দিয়ে যুক্ত অ্যাপ্লিকেশনটিকে "ব্যাচ পরিবর্তন" করতে চান। উপ-সেট কারণ আপনি ফাইলের সমস্ত ধরণের দৃষ্টান্তটি নতুন অ্যাপ্লিকেশনে পরিবর্তন করতে চান না।

তবে এটি করার সহজ কোনও উপায় নেই। যে ফাইলটি খোলার জন্য লঞ্চ সার্ভিসগুলি কীভাবে অ্যাপ্লিকেশনটিকে বলা উচিত তা কীভাবে খুঁজে পাওয়া যায় তা একটি মাল্টিস্টেজ প্রক্রিয়া, এবং বিভিন্ন স্কোপের (ব্যবহারকারী, সিস্টেম এবং এই জাতীয়) সেটিংসের উপর নির্ভর করে।

তবে - আপনি openকমান্ডলাইনে ব্যবহার করতে পারেন এবং এটিকে একটি নির্দিষ্ট অ্যাপ্লিকেশনটি ব্যবহার করতে বলতে পারেন। এটি কোনও সমিতি পরিবর্তন করবে না, তবে আপনি যা চান তা অর্জন করবে এটি একটি নির্দিষ্ট অ্যাপ্লিকেশনটিতে ফাইলের সেট খুলবে:

open -a <appbundle> <somefile> <anotherfile>

মত

shiny:t fl$ ls -l
total 1848
-rwxr-xr-x  1 fl  staff    1795 Mar 18 20:03 distribution.pl
-rw-r--r--  1 fl  staff  939264 Mar 18 20:03 objectreport.txt
shiny:t fl$ open -a TextWrangler distribution.pl objectreport.txt

এবং, কমান্ড লাইন থেকে সম্পূর্ণ দূরে যাচ্ছেন: এই ইউটিলিটিটি একবার দেখুন: http://michelf.com/software/magic-launch/


আপনার নির্দিষ্ট উদাহরণে, open -a TextWrangler *আরও দ্রুত হবে।
ড্যানিয়েল বেক

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