কীভাবে বাশ শেল ইতিহাসের ব্যাপ্তি পাওয়া যায়


9

নির্দিষ্ট পরিসরে আমি কীভাবে ফিল্টার ইতিহাসের এন্ট্রি পেতে পারি?

আমার কাছে একটি বড় ইতিহাসের ফাইল রয়েছে এবং প্রায়শই ব্যবহার করা হয়

history | grep somecommand

এখন, আমার স্মৃতিশক্তি বেশ খারাপ এবং কমান্ডটি প্রবেশ করার সময় আমি আরও কী করেছি তাও দেখতে চাই।

আপাতত আমি এটি করছি: ম্যাচ পান, বলুন 4992 somecommand, তবে আমি করি

history | grep 49[0-9][0-9]

এটি সাধারণত যথেষ্ট ভাল, তবে আমি এটি আরও স্পষ্টভাবে করতে চাই, এটি হ'ল 4972 থেকে 5012 পর্যন্ত কমান্ডগুলি দেখা যাচ্ছে, এটি 20 কমান্ড আগে এবং 20 পরে রয়েছে।

আমি ভাবছি কি আরও সহজ উপায় আছে? আমার সন্দেহ, একটি কাস্টম স্ক্রিপ্ট ক্রমযুক্ত, তবে সম্ভবত এর আগে অন্য কেউ এরকম কিছু করেছে।


ইতিহাসের কারসাজির জন্য 2 টি বিল্ট-ইন রয়েছে: gnu.huihoo.org/bash-2.02/html_node/bashref_73.html
এলএএফকে বলছে পুনর্নির্মাণ মনিকা

উত্তর:


13

আপনি grepম্যাচের চারপাশে কিছু লাইন মুদ্রণ করতে বলতে পারেন , উদাহরণস্বরূপ, 3 আগে এবং 5 পরে:

history | grep -B 3 -A 5 somecommand

grep -C 4সমতূল্য grep -A 4 -B 4

তবে প্রায়শই আপনি ঠিক কতগুলি লাইনের অগ্রিম চান তা জানতে পারবেন না। তাই কম ব্যবহার করুন এবং এর ভিতরে অনুসন্ধান করুন। এমনকি আপনি কমান্ড লাইন থেকে অনুসন্ধানটি চালু করতে পারেন:

history | less +/somecommand

1
সাথে খুব দুর্দান্ত কৌশল less! আপনি কী করতে পারেন তা জানতেন না
warren

সত্যিই খুব সুন্দর ... আমি যে কমান্ডটি সন্ধান করছি তা "কাছাকাছি" দেখতে পাচ্ছি, এমনকি যখন আমি সত্যিই এটি সুনির্দিষ্টভাবে সন্ধান করি না কিন্তু যখন আমি অন্য কোনও প্রাসঙ্গিক কমান্ড ব্যবহার করি তখন মনে হয় এটি ব্যবহার করার কথা মনে আছে! ভাল জিনিস tnx।
খলিল ঘরবাউই

8

এফসি চেষ্টা করুন:

fc -l 4972 5012

... এটি একটি বাশ বিল্টিন কমান্ড। (সুতরাং এটি tcsh এ চেষ্টা করবেন না:))


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