ট্যাব সমাপ্তির সম্ভাবনাগুলি কীভাবে আমি গ্রেপ করতে পারি?


18

আমি যখন কনসোলে ট্যাব টিপব তখন আমি এই আউটপুটটি পাই

সমস্ত 2957 সম্ভাবনা প্রদর্শন? (y বা n)

grepএই 2957 সম্ভাবনার উপর কোন উপায় আছে ? আমি তাদের মধ্যে "এসএনএন" শব্দটি দিয়ে সমস্ত কমান্ড অনুসন্ধান করতে চাই।

উত্তর:


21

সমাধান হ'ল বাশ বিল্টিন compgen। সমস্ত উপলভ্য কমান্ড এবং কমান্ড অ্যালিয়াসের মাধ্যমে 'এসএনএন' গ্রেপ করতে $PATHটাইপ করুন।

compgen -ac | grep svn

একটি নির্দিষ্ট উপসর্গ (যেমন শুরু করা সমস্ত কমান্ড ecrypt) দিয়ে অনুসন্ধান করতে চান ? নিয়মিত এক্সপ্রেশন ব্যবহার করুন

compgen -ac | grep "^ecrypt"

দুর্দান্ত উত্তর, তবে যদি কেউ ট্যাব সমাপ্তির সম্ভাবনাগুলি নিজেরাই গ্রেপ করতে চায়? মানে, এটি সর্বদা কমান্ড নাম দ্বারা চালিত হয় না, তবে কমান্ড প্যারামিটার ইত্যাদির দ্বারাও হয়
আঙ্কেলজেভ


1

এটি সমতুল্য হওয়া উচিত:

for x in `echo $PATH | sed 's/:/ /g'`; do ls $x | grep svn; done

1
for i in $(echo $PATH | tr ":" "\n"); do find $i -type f -perm +111; done | grep svn

এটি বাদে তোতামের জবাবের সাথে খুব মিল, এর পরিধিটি এক্সিকিউটেবলের মধ্যে সীমাবদ্ধ করে (যেমন ব্যাশের মত)। তবে জেজেই এর compgenথেকে আরও মাইল ভাল।


1

সম্ভবত {,.}*svn*এখানে সাহায্য করে, যেমন ls -l /usr/bin/{,.}*svn*<tab>

তবে, Zsh এ দেখুন! এখানে: http://www.jukie.net/bart/blog/zsh-tab- কমপ্লিটেশন কিছু দুর্দান্ত উদাহরণ যা এটি কীভাবে আপনার ট্যাব সমাপ্তির ফলাফল হ্রাস করতে সহায়তা করতে পারে। এর মধ্যে অবহেলাও অন্তর্ভুক্ত রয়েছে, উদাহরণস্বরূপ, যদি আপনি "ফুবার" শব্দটি ব্যতীত সমস্ত ট্যাব-সমাপ্তির ফলাফল চান বা প্রথম স্থানে এমনকি অঙ্ক সহ সমস্ত ফলাফল, উপ-ডিরেক্টরি ট্যাব-সমাপ্তি এবং আরও অনেক কিছু চান। আমি zsh এ পরিবর্তনের কারণটি ছিল সমস্ত ওপেন টার্মিনালের মধ্যে ইতিহাস ভাগ করা।


0

আমি কমপেজ জানতাম না, এবং পরামর্শ দিতাম:

ls -d ${PATH//:/\/*svn* } 2>/dev/null

বাশ জন্য।

${VAR//pattern/replace} replaces in VAR pattern with replace. // is used to replace every pattern, not just the first, which would be just /.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.