সবচেয়ে সহজ উপায় শেল সাবস্টিটিউশনlocate
হিসাবে পাস করা যেমন :
vim $(locate filename123)
আপনি সম্পাদনা করার জন্য ফাইলের নাম পাস করার find
পরিবর্তে ব্যবহার করার কথা বিবেচনা করতে পারেন locate
, উদাহরণস্বরূপ:
find . -name 'filename123' -exec vim {} +
ইউনিক্স / ওএসএক্স এ আপনি প্যারামিটার xargs
সহ ব্যবহার করতে পারেন -o
:
locate filename123 | xargs -o vim
-o
কমান্ডটি কার্যকর করার আগে শিশু প্রক্রিয়ায় স্ট্যান্ডিনকে / dev / tty হিসাবে আবার খুলুন। আপনি যদি একটি ইন্টারেক্টিভ অ্যাপ্লিকেশন চালাতে xargs চান তবে এটি কার্যকর।
অথবা লিনাক্সে নিম্নলিখিত ব্যবহারগুলি ব্যবহার করে চেষ্টা করুন:
locate filename123 | xargs -J% sh -c 'vim < /dev/tty $@'
আপনি যদি বিভিন্ন কমান্ড ব্যবহার করেন তবে তা অর্জন করতে কমান্ড প্রতিস্থাপন ব্যবহার করুন , যেমন:
vim $(locate filename123)
vim `locate filename123`
টিটি বরাদ্দের জোর করার parallel
পরিবর্তে বিকল্পভাবে জিএনইউ ব্যবহার করুন xargs
, উদাহরণস্বরূপ:
locate filename123 | parallel -X --tty vi
দ্রষ্টব্য: parallel
ইউনিক্স / ওএসএক্সে বিভিন্ন পরামিতি রয়েছে বলে এটি কাজ করবে না এবং এটি tty সমর্থন করে না।
আরও অনেক জনপ্রিয় কমান্ড সিউডো-টিটি বরাদ্দ দেয় (যেমন পছন্দ -t
করে ssh
), তাই সাহায্যের জন্য পরীক্ষা করুন।
অন্যান্য পরামর্শ vipe
হ'ল (একটি ভিম কমান্ড পাইপ) ব্যবহার করা বা নিম্নলিখিত সহজ স্ক্রিপ্টটি ব্যবহার করা:
#!/bin/sh
# usage: locate filename123 | vip
exec vim < /dev/tty "$@"
সম্পর্কিত: