কমান্ডের সাহায্যে ফাইল খুলুন


12

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

find . -name *.xyz

এটি আমার সন্ধান করা ফাইলটি ফিরিয়ে দেবে। এখন আমি নামটি টাইপ না করে কীভাবে এটি স্বয়ংক্রিয়ভাবে খুলব?

find . -name *xyz | open

এটি কাজ করে না। এটি বলে যে এটি ওপেন কমান্ডটি খুঁজে পায়নি।


3
এটি কোন ধরণের ফাইল? যদি এটি এক্সিকিউটেবল ফাইল না হয় তবে আপনি কোন প্রোগ্রামটি দিয়ে ফাইলটি খুলতে চান? ওহ কি উইন্ডোজ আমাদের জনসংখ্যা = / কি দশা করেছেন
chown


1
আমি উইন্ডোজ নয় এমন ম্যাকের উপরে আছি ... এবং আমি ডিফল্ট প্রোগ্রাম দিয়ে ফাইলটি খুলতে চাই।

2
অনুসন্ধান . -নাম * xyz | xargs খুলুন এবং খুঁজে। -নেম * .xyz -exec খোলা {} \; দু'জনেই কাজ করেছেন। ধন্যবাদ।

আমি খুশি যে আপনি একটি সমাধান খুঁজে পেয়েছি। আপনার জন্য 'সেরা' কাজ করে এমন সমাধানটি চিহ্নিত করতে ভুলবেন না। অন্যরা আপনার 'গ্রহণযোগ্যতা' অনুপাত দেখতে পাবে এবং ভবিষ্যতের প্রশ্ন জিজ্ঞাসা করার সময় এটি অনেক বেশি এগিয়ে যায়। স্বল্প গ্রহণযোগ্যতা অনুপাত সহ ব্যবহারকারীরা প্রায়শই তাদের প্রশ্ন উপেক্ষা করে দেখতে পান। =)
ম্যাচিউ

উত্তর:


10

পছন্দ করুন আপনার এটি 'কিছু' দিয়ে খোলার দরকার। যাইহোক, আমি এক্সআর্গের ওপরে এক্সিকিউট ব্যবহার করতে পছন্দ করি।

find . -name '*.xyz' -exec cat {} \;

এটি cat fileFound.xyz; cat fileFound2.xyx;ইত্যাদি ফিরে আসবে । তবে, আপনি কেবল একটি ফাইল খুঁজে পাওয়ার আশা করছেন।

দয়া করে মনে রাখবেন পরিবর্তন \;করতে +ফিরে আসবে cat fileFound.xyz fileFound2.xyzক্ষেত্রে তার উপর নির্ভর করে পরবর্তী হয়তো পছন্দের পছন্দ।

আরও এই বিষয়ে আমি আপনাকে এই প্রশ্নের দিকে পরিচালিত করব


6

আপনি যে কমান্ডটি সন্ধান করছেন তাকে বলা হয় xdg-open

এটি দিয়ে আপনার আদেশটি চেষ্টা করুন:

xdg-open "$(find . -name '*xyz' | head -n1)"

6

ফাইলটি খোলার জন্য আপনি কোন প্রোগ্রামটি ব্যবহার করতে চান তা আপনার জানতে হবে। যদি এটি কোনও চিত্র হয় তবে আপনি জিউইনভিউ বা কিছু ব্যবহার করতে পারেন।

ইনপুট নেওয়া এবং এটি আর্গুমেন্টে রূপান্তরিত করা হয়েছে xargs দিয়ে। এবং আপনি যে ওয়াইল্ডকার্ড থেকে পালাতে চাইবেন ...

find . -name \*xyz | xargs gwenview

এবং ফাইল নামগুলিতে স্পেসগুলি পরিচালনা করতে ....

find . -name \*xyz | xargs -d"\n" gwenview

2

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

$(find . -name *.xyz)

0

আপনি যদি findভিএম এর একক দৃষ্টিতে পৃথক ট্যাব দ্বারা পাওয়া সমস্ত ফাইলগুলি খুলতে চান , আপনি এটি করতে পারেন:

find . -name \*xyz | xargs vim -p
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.