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


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.