পাইপ ব্যবহার করে কীভাবে একটি ফাইল খুলতে হয়


15

আমি locateকমান্ডটি প্রায়শই ব্যবহার করতে পারি ।

সুতরাং আমি যদি নিম্নলিখিত কমান্ড চালাতে।

locate updatedb | head -1

তারপর এটি আমাকে দেয় O/p

/usr/updatedb.conf

আমি ভাবছি যদি এমন কোনও কমান্ড থাকে যা আমাকে সরাসরি ফাইলটি খুলতে দিতে পারে?

আমি এই জাতীয় কিছু আশা করছি।

locate updatedb | head -1 | vim

উত্তর:


22

আপনি প্রায় সম্পন্ন করেছেন:

$ locate updatedb | head -1 | xargs vim

কখনও কখনও (নির্দিষ্ট টার্মিনালের অধীনে) সম্পাদনার পরে আপনার টার্মিনালটি পুনরায় সেট করতে হবে।

$ reset

2
সম্ভবত সংস্করণটি locateআছে -l/ --limit/ -nযাতে আপনি প্রয়োজন হবে না বিকল্প head -1:locate -n 1 updatedb | xargs vim
— দিমিত্রি Alexandrov

1
কেন এই টার্মিনাল দুর্নীতি হয়? এটি এড়ানোর কোনও উপায় আছে কি?
— জ্যাকোবো ডি ভেরা

16

একটি ইন্টারেক্টিভ সম্পাদক হিসাবে, ভিমের স্টিডিন এবং স্টডআউট উভয়েরই প্রয়োজন, তাই এটি একটি পাইপের মধ্যে ব্যবহার করা সমস্যাযুক্ত এবং ভিমকে এ সম্পর্কে সতর্ক করে তোলে। কেবল একটি একক ফাইলের জন্য, প্রক্রিয়া বিকল্প এটি সহজেই সমাধান করে:

vim "$(locate updatedb | head -1)"

আপনি ব্যাকটিকগুলিও ব্যবহার করতে পারেন এবং এটি এমনকি ভিমের ভিতরেও কাজ করে:

:edit `locate updatedb | head -1`

এটি স্পেস সহ স্ট্রিংগুলিতেও কাজ করে, যা "সংস্করণ 2 - ফাইনাল সিএসভি" এর মতো ফাইলের নামের জন্য দুর্দান্ত।
— অ্যালেক্স মুর-নিমি

0

আমি জানি এটি খারাপ সমাধান তবে আমি এটি বাশার্কে উপন্যাস তৈরি করার জন্য ব্যবহার করেছি:

locate updatedb  > /tmp/vimForTempDontTouch && vim /tmp/vimForTempDontTouch

ডাউনসাইডস: কুরুচিপূর্ণ

সুবিধা: টার্মিনালের সাথে কোনও পার্শ্ব প্রতিক্রিয়া নেই

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