জেডএসএইচ - আউটপুট পুরো ইতিহাস?


37

আমি সম্প্রতি বাশ থেকে zsh এ স্যুইচ করেছি। ব্যাশে, আমি আগে চালিত কমান্ডগুলির সন্ধান করার জন্য একটি উপায় (পুনরাবৃত্ত অনুসন্ধানের পাশাপাশি) ছিল history | grep whateverযেখানে whateverকমান্ডটি আমার মনে আছে।

Zsh এ, এটি কাজ করছে না। historyআমার .zsh_historyফাইলে অনেকগুলি এন্ট্রি থাকা সত্ত্বেও কেবলমাত্র কয়েকটি আইটেম প্রদান করে , যা আমি এটি করার জন্য কনফিগার করেছি।

আমি কীভাবে আমার পুরো ইতিহাসটি অনুসন্ধানের জন্য উপযুক্ত আউটপুট করতে পারি grep?

উত্তর:


48

ইতিহাস zsh এন্ট্রিগুলিতে একটি পরিসরকে [first] [last]আর্গুমেন্ট হিসাবে স্বীকার করে , যাতে সেগুলি সমস্ত চালিত হয় history 0

Zsh সহায়তা পেতে (অন্তত মন দিয়ে) Alt-hইতিহাস কমান্ডের উপর টাইপ করুন এবং এটি বিল্ট-ইনগুলির জন্য সহায়তা আনবে।


3
গ্রেট! যদিও এটি আমার জন্য একটি বিরক্তিকর ডিফল্ট, তাই আমি এটি আমার এলিয়াস ফাইলটিতে যুক্ত করছি:alias history="history 0"
নাথান লং

7
এটি গুরুত্বপূর্ণ নয় তবে ইতিহাসের তালিকাটি 1 ও 0 থেকে শুরু হয় না
ggustafsson

2
আমি নিজেই এই উপনামটি ব্যবহার করছি:alias h='history 1 | grep'
হ্যারাল্ড নর্ডগ্রেন

3
এটি আমার পক্ষে কাজ করে বলে মনে হচ্ছে না: আমার ~/.zsh_history10066 লাইন রয়েছে তবে history 0(বা এর সমতুল্য fc -l 0) কেবল 4999 লাইন মুদ্রণ করে।
জায়েহেনডেন

2
করতে history 1 | grepমানুষ, আমি আশা করি আপনার সম্পর্কে জানি ctrl+r- শ্রেষ্ঠ কৌতুক / শর্টকাট কি কখনো!
এমিল ভাতাই

9

গৃহীত উত্তরটি সঠিক, তবে এটি লক্ষ্য করার মতো যে অনুসন্ধানটি করার জন্য আপনাকে বাহ্যিক বাইনারি কল করার দরকার নেইgrep , যেহেতু সেই ক্ষমতাটি বেকড রয়েছে। আমার এই ফাংশনটি আমার মধ্যে সংজ্ঞায়িত করা হয়েছে .zshrc:

histsearch() { fc -lim "*$@*" 1 }

নোট:

  • fcইন্টারেক্টিভ ইতিহাস নিয়ন্ত্রণ করে এমন zsh বিল্টিন। historyসমতূল্য fc -l

  • -mপতাকা একটি প্যাটার্ন, যা উদ্ধৃত করা আবশ্যক প্রয়োজন।

  • -iপতাকা একটি টাইমস্ট্যাম্প যোগ করা হয়েছে।

  • fcএর হাতা আপ আরো অনেক কৌশল আছে (উদাঃ বর্তমান সেশনের জন্য অভ্যন্তরীণ ইতিহাসে সীমাবদ্ধকরণ)। দেখুন zshbuiltins(1)মানুষ পাতা বা সরকারী ডকুমেন্টেশন


পরেরটি কেবলমাত্র সঠিক ম্যাচ দেয় বলে "$ @ *" পরিবর্তে "* $ @ *" (অতিরিক্ত তারা নোট করুন) প্যাটার্ন ব্যবহার করা আরও ভাল।
পাইওটার ডব্রোগস্ট

1
আপনি পুরোপুরি ঠিক আছেন, @ পাইটারডব্রোগস্ট! আমি নিশ্চিত না যে আমি কীভাবে এই উত্তরটি জমা দিতে পেরেছি - আমি অনুমান করছি যে স্মৃতি থেকে আমি অবশ্যই এই ফাংশনটি টাইপ করেছি। যেহেতু এটি দাঁড়িয়েছে এটি খুব ব্যবহারযোগ্য নয়, তাই আমি নক্ষত্রগুলি অন্তর্ভুক্ত করার জন্য উত্তরটি সম্পাদনা করতে যাচ্ছি।
wjv

3

কটাক্ষপাত আছে fzf । এটি কেবল আপনার শেল ইতিহাসে "যাই হোক না কেন-কণা" সন্ধান করতে সহায়তা করে, তবে অন্যান্য আকর্ষণীয় জায়গায় যেমন ব্রাউজারের ইতিহাস, ডিরেক্টরি ইতিহাস ইত্যাদি history

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

হোমপেজে লেখকের অর্থবোধক উদাহরণ একটি সংখ্যা উপস্থিত রয়েছে।


আপনি যা বলছেন তা সমর্থন করে এই উত্তরে কিছু রেফারেন্স যুক্ত করার কথা বিবেচনা করুন।
পিম্প জুস আইটি

সুপার ব্যবহারকারীকে স্বাগতম! নূন্যতম প্রয়োজনীয় তথ্য এবং সুপার ব্যবহারকারীর সফ্টওয়্যারটি কীভাবে সুপারিশ করতে হয় তার পরামর্শগুলির জন্য সফ্টওয়্যারটি কীভাবে সুপারিশ করবেন তা দয়া করে পড়ুন । আপনার উত্তরটি দরকারী রাখতে এমনকি সরবরাহিত লিঙ্ক (গুলি) এই বিশদটি ভাঙ্গলে আপনার উত্তরটিতে সম্পাদনা করা উচিত।
আমি বলছি মনিকা পুনরায়
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.