গ্রেপ ডিফল্ট রঙ বিকল্প


11

লিনাক্সে গ্রেপ একটি সর্বাধিক ব্যবহৃত কমান্ড। আউটপুট লাইনে আপনি যে স্ট্রিংটি অনুসন্ধান করেছেন সেটিকে হাইলাইট করার জন্য এটির প্রাথমিক বৈশিষ্ট্যটি আমার কাছে অনুভূত হয়। এটি --color বিকল্প দ্বারা অর্জন করা যায়।

টাইপিং - রঙ প্রতিটি সময় বিরক্তিকর এবং এছাড়াও উত্পাদনশীল নয়। গ্রেপ - রঙ হিসাবে আচরণ করার জন্য গ্রেপ পরিবর্তন করার কোনও উপায় আছে কি?

আমি এটিকে গ্রেপডি নামে একটি ছোট স্ক্রিপ্ট লেখার চেষ্টা করেছি এবং এটি আমার প্যাথ ভেরিয়েবলের সাথে যুক্ত করেছি। তবে স্ক্রিপ্টটি ইনপুট গ্রেপডি- তে কাজ করে না । কোন পরামর্শ দয়া করে।

#!/bin/bash
grep --color $1 $2

উত্তর:


21

কেবলমাত্র আপনার শেলের কনফিগারেশন ফাইলে নীচের নামটি যুক্ত করুন, যেমন .bashrcবা .bash_profile(আপনি যেটি ব্যবহার করেন তার উপর নির্ভর করে এখানে দেখুন ):

alias grep='grep --color=auto'

আপনি কেবল এটি হিসাবে ব্যবহার করতে পারেন grep

সাধারণ কমান্ড অ্যালিয়াসগুলি একই জিনিস ঠিকঠাক করলে সাধারণত স্ক্রিপ্টগুলি তৈরি করার দরকার হয় না। আপনি আরও বিকল্পগুলি পাস করতে চাইলে আপনার স্ক্রিপ্টটি এমনকি কাজ করবে না grep। আপনার যদি একটি ক্ষুদ্র স্নিপেটের প্রয়োজন হয় যা তর্কগুলি মোকাবেলা করতে পারে, আপনার ফাংশনগুলি ব্যবহার করা উচিত


9
বা সমতুল্যভাবে, GREP_OPTIONSপরিবেশের পরিবর্তনশীল সেট করুন :export GREP_OPTIONS='--color=always'
জারুমে

এটি রঙ বিকল্প যুক্ত করে না যদি আপনি fgrep বা egrep ব্যবহার করেন তবে আপনার জন্য আলাদা আলাদা এলিয়াসের প্রয়োজন হবে। এছাড়াও, @ জুরিমে: গ্রেইপ_পুটেশনগুলি গ্রেপ ম্যান পৃষ্ঠাতে অবচয় হিসাবে চিহ্নিত করা হয়েছে।
থায়নে

@ থেইন কেবল জিএনইউ গ্রেপের জন্য এবং অন্যরা ফ্রিবিএসডি গ্রেপের মতো নয়। এবং যতদূর আমি বলতে পারি, এটি পরিবর্তিত হয়ে 4 বছর হয়ে গেছে এবং এটি এখনও সমর্থিত। অবমানিত মানে সরানো নয়।
সিডিডি

এটি আমি সাধারণত করি যা কিছু ক্ষেত্রে সঠিকভাবে কাজ করে না। উদাহরণস্বরূপ: some_command | xargs grep fooরঙিন করা হবে না কারণ xargs উপনামটি ব্যবহার করে না।
টিএম

2
#!/bin/sh
exec grep --color "$@"

শেল স্ক্রিপ্ট সহ একটি কমান্ড "মোড়ানো" এর মানক উপায়টি চিত্রিত করে, যখন কমান্ডটি আপনার পছন্দ মতো কাজ করে না।

execএড়াতে একটি অতিরিক্ত প্রক্রিয়া (স্ক্রিপ্টের জন্য এক এবং grep জন্য এক) তৈরি করা। আপনি চাইলে তা ছেড়ে দিতে পারতেন।

"$@"স্ক্রিপ্টের এর সব আর্গুমেন্ট দ্বারা প্রতিস্থাপিত হয়, কোন আছে কত ব্যাপার। এটি শেল থেকে বিশেষ যে স্পেস এবং অন্যান্য অক্ষরগুলির সাথে যুক্তিগুলি সঠিকভাবে সংরক্ষণ করে।


"এক্সিকিউট গ্রেপ" "এক্সিকিউটিভ / বিন / গ্রেপ" হওয়া উচিত
বেরেনড ডি বোয়ার

2
পুনঃটুইট করেছেন "এক্সিকিউটিভ গ্রেপ" ঠিক কাজ করবে। গ্রেপের জন্য পথ অনুসন্ধানে কোনও ভুল নেই।
ক্যানস্টার

-1

export GREP_COLORS='AUTO'আপনার ~ / .bashrc লাগানোর চেষ্টা করুন - আমার জন্য এটি কাজ করে।

থেকে man grep

       --color[=WHEN], --colour[=WHEN]
          Surround  the  matched (non-empty) strings, matching lines, context lines, file names, line numbers, byte offsets, and separators (for fields and groups of context lines) with escape sequences
          to display them in color on the terminal.  The colors are defined by the environment variable GREP_COLORS.  The deprecated environment variable GREP_COLOR is still supported, but  its  setting
          does not have priority.  WHEN is never, always, or auto.

5
GREP_COLORSসেটটি আসল রঙ। সেট করাতে AUTOকোনও রঙ দেখানো উচিত নয়। এক্সপোর্ট GREP_OPTIONS = '- রঙ = অটো' এর উত্তর হওয়া উচিত।
ব্যবহারকারী 137369
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.