`হাইলাইট` কমান্ড


11

স্ট্যান্ডআউটে পুরো স্ট্রিংটি পাস করার সময় স্ট্যান্ডিনে নির্দিষ্ট স্ট্রিংগুলি সহজেই হাইলাইট করতে (রঙ, গা bold় পাঠ্য বা উল্টানো ব্যাক- / সম্মুখভাগ সহ) স্ট্রিনে হাইলাইট করতে ব্যবহার করা যেতে পারে এমন কোন কমান্ড রয়েছে? আমি এটি নির্মাণের কথা ভাবছি , তবে এটি ইতিমধ্যে উপস্থিত থাকলে কেবল এটি ব্যবহার করব। কিছু কাঙ্ক্ষিত বৈশিষ্ট্য:

  1. পৃথক হাইলাইট স্ট্রিংগুলি একটি স্বয়ংক্রিয় পদ্ধতিতে আলাদাভাবে হাইলাইট করা হয়। উদাহরণস্বরূপ, প্রথম স্ট্রিংটি হাইলাইট করা হবে লাল, দ্বিতীয়টি সবুজ, তৃতীয় নীল ম্যানুয়াল কনফিগারেশন ছাড়াই
  2. রঙ সমর্থন সনাক্ত করে এবং সাহসী / উল্টানো / অন্যান্য হাইলাইটিং পদ্ধতিগুলিতে ফিরে আসে যেখানে সেগুলি উপলব্ধ।
  3. নিয়মিত এক্সপ্রেশন এবং আক্ষরিক স্ট্রিংগুলির মিলের জন্য মঞ্জুরি দিন।
  4. সাধারণত "ফুবার" এবং "বারবার" এর মতো ম্যাচগুলি ওভারল্যাপ হলে কিছু স্মার্ট করে।
  5. স্টারডিন এবং স্টডআউটের মধ্যে রঙ কোড যুক্ত করা ছাড়া আর কিছুই সংশোধন করা হয় না।


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

নতুন কোনও ইউটিলিটি লেখার পরিবর্তে এটিকে গ্রেপ হিসাবে যুক্ত করার জন্য এটি দুর্দান্ত-দুর্দান্ত লাগবে।
mattdm

1
যথাযথ ইউনিক্স দর্শন একটি নতুন ইউটিলিটি হবে যা কেবল গ্রেপ নয়, অন্যান্য স্ট্রিম থেকেও পাইপ করা যায়। আমার সন্দেহ হয় কমপক্ষে এক বা একাধিক পার্ল মডিউল রয়েছে যা সম্ভবত এটি আপনার পক্ষে করতে পারে, যদিও ...
শাদুর

1
@ গিলস: এই প্রশ্নটি অনেক বেশি সীমিত। আসলে, এটি পড়া আমার এই প্রশ্নটি তৈরি করার অন্যতম কারণ ছিল - আরও সাধারণ এবং নমনীয় সমাধানের জন্য জিজ্ঞাসা করা।
l0b0

উত্তর:


4

সম্ভবত Radovan Garabík এর জেনেরিক কলরিজার (grc) ? এটি একটি কনফিগার ফাইলটি আর্গুমেন্ট হিসাবে প্রত্যাশা করে এবং রেজিএক্সপেক্সের সাথে কাজ করে। কনফিগারেশন ব্যতীত পুরোপুরি নয়, তবে আপনি প্রক্রিয়া প্রক্রিয়া বিকল্প ব্যবহার করতে পারেন ( <(list)), তাই ম্যানুয়াল কনফিগারেশন ছাড়াই সর্বদা :-)


পৃষ্ঠাটি খোলার প্রয়োজন ছাড়াই স্পষ্ট করার জন্য (এবং এটি সন্ধানযোগ্য), "এটি একটি" == জেনেরিক কলরিজার ; grc এবং grcat ... ধন্যবাদ, আমি এটি পছন্দ করি।
পিটার.ও

grc: একটি সাহায্যকারী স্ক্রিপ্ট হয়েছে grcat। সমস্ত মূল অক্ষরকে লাল রঙ করার উদাহরণ এখানে। পদক্ষেপ 1: কনফিগার ফাইল সেট আপ করুন: printf "regexp=[A-Z]\ncolours=red\n" > ~/.grc/red-caps পদক্ষেপ 2; এটি ব্যবহার করুন: echo Hello World | grcat red-caps... ম্যান পৃষ্ঠাটি 3 টি কনফিগার ডিরেক্টরি এটি অনুসন্ধান করে এবং তারপরে পরামর্শ দেয় (?) যে কনফিগার ফাইলটি পরম পাথ হতে পারে, তবে কনফিগার ফাইলটি অনুসন্ধানের এই শেষ পদ্ধতিটি কেবল আমার জন্য আপেক্ষিক পাথের সাথে কাজ করে (গ্রাফিক) সংস্করণ 1.3)
পিটার.ও

5

সেড উদ্ধার!

আপনি এটিকে উন্নত করতে পারেন (যেমন এটির সত্যই এটি প্রয়োজন) তবে এটি বেশ ভালভাবে কাজ করে।

$ cat >~/bin/hilight <<EOF
#!/bin/bash
while [ $# -gt 0 ]
do
 COMANDO=$COMANDO's/'$1$'/\033[01;'$2$'m\033[K\\0\033[m\033[K/g\n'
 shift;shift;
done

sed -e "$COMANDO"
EOF

সরলতার জন্য, হিলাইট যুক্তি যুক্তি গ্রহণ করে (প্রথম ম্যাচ, দ্বিতীয় রঙ) এই স্ক্রিপ্টটিতে বৈশিষ্ট্যটি সর্বদা সাহসী

রঙ পালানোর সুরক্ষার জন্য ম্যান কনসোল_কোডগুলি (গ্রাফিক রেন্ডিশন) পড়ুন বা এটি ব্যবহার করে দেখুন

for attrib in $(seq 0 12); do
  for color in $(seq 30 37) $(seq 40 47) $(seq 90 97); do
    printf %b " $attrib $color:\033[$attrib;${color}mhi, dudes\033[m"
  done
done

এই কাজগুলি ব্যবহার করার মতো গুরুত্বপূর্ণ ত্রুটি রয়েছে:

$ dmesg | hilight \\[ 34 ] 34

তবে এটি মোটেই নয়:

$ dmesg | hilight \\[ 34 ] 34 [[:digit:]] 31

কারণ [: ডিজিট:] পূর্ববর্তী ক্রমাগততাগুলি থেকে পালানোর সুরক্ষায় নম্বরগুলি সন্ধান করে।

কিছুটা এইরকম:

$ cat /var/log/kern.log | hilight kernel 31 a 34 et 33

সর্বদা ব্যতীত হিসাবে কাজ করবে।

টাইম কমান্ড ব্যবহার করে আমি এই ইনক্রিমেন্টগুলি চারটি সময় অতিবাহিত পেয়েছি, যা খুব বেশি নয়।

আপনি নিজের পছন্দ মতো বা আপনার প্রয়োজনীয়তার সাথে ফিট করে এমন অন্য কোনও পার্সারের সাথে সেড কমান্ড প্রতিস্থাপন করতে পারেন (অ্যাড, ইত্যাদি ...)


2

কেউ মুদ্রণবিহীন অক্ষরের সাথে প্রতিটি লাইনের সাথে মেলে এমন প্যাটার্ন সহ এগ্রিপ ব্যবহার করতে পারে, যেমন:

dmesg | egrep --color "swap|$"

1

ক্লাইড ভাল কাজ করে। আমি এটি EPEL সংগ্রহস্থল থেকে RHEL 6.2 এ ব্যবহার করি


খুব সুন্দর একটি সরঞ্জামের জন্য +1। দুর্ভাগ্যক্রমে এটিতে সমস্ত বৈশিষ্ট্য চাওয়া হয় না।
l0b0

1

যদি আপনার সংস্করণটি grepরঙিন হয়ে আসে, তবে আপনি গ্রিপটিকে হাইলাইট করতে হ'ল রিজেক্সএফ পরিবর্তনটি ব্যবহার করতে পারেন এবং প্রতিটি লাইনের সাথেও মেলে যাতে কোনও কিছুই বাদ না থাকে। নিম্নলিখিতটি কৌশলটি করা উচিত:

<your command> |grep "highlightme\|^"

0

আপনি লিঙ্কটিতে উল্লেখ হিসাবে, grep --color=alwaysশুধুমাত্র একটি প্যাটার্ন জন্য কাজ করে। এটি বলেছিল, আমি বিশ্বাস করি না যে এই জাতীয় কোনও সরঞ্জাম বিদ্যমান।


0

আমি http://em.readthedocs.org/ ব্যবহার করি । পাইথনের কারণে বিভিন্ন প্ল্যাটফর্মে ইনস্টল করা সহজ। সহজ এবং সূক্ষ্ম কাজ করে।


ইউনিক্স ও লিনাক্স স্ট্যাক এক্সচেঞ্জে স্বাগতম! যতক্ষণ এই তাত্ত্বিক প্রশ্নের উত্তর হতে পারে, এটা বাঞ্ছনীয় হবে উত্তর অপরিহার্য অংশের এখানে অন্তর্ভুক্ত করা, এবং রেফারেন্স এর জন্য লিঙ্ক প্রদান।
SLM

1
সহায়তা কেন্দ্রের মতে : "তবে আপনাকে অবশ্যই উত্তরগুলিতে আপনার অনুমোদিততা প্রকাশ করতে হবে ।" আপনি যদি একই আইগর কালনিটস্কি লিখেছেন emতবে দয়া করে আপনার উত্তরটি উচ্চারণ করুন যে আপনি ব্যবহারকারী নন, তবে প্রস্তাবিত সরঞ্জামটির লেখক।
manatwork
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.