supercat
আপনি যা সন্ধান করছেন তা মনে হচ্ছে
প্যাকেজ: সুপারক্যাট
বিবরণ-এন: প্রোগ্রাম যা টার্মিনাল এবং এইচটিএমএলের জন্য পাঠ্যকে রঙিন করে
সুপারকার্যাট এমন একটি প্রোগ্রাম যা নিয়মিত মিলের ভিত্তিতে পাঠ্যকে রঙিন করে
এক্সপ্রেশন / স্ট্রিং / অক্ষর। সুপারকেট এইচটিএমএল আউটপুটও সমর্থন করে
স্ট্যান্ডার্ড ASCII পাঠ্য হিসাবে। কিছু পাঠ্য-বর্ণময় প্রোগ্রামের থেকে পৃথক
বিদ্যমান, সুপারকার্টের জন্য আপনাকে প্রোগ্রামার হওয়ার দরকার নেই be
বর্ণের বিধি তৈরি করুন।
হোমপেজ: http://supercat.nosredna.net/
কমান্ড লাইনে কী সংগ্রহ করবেন তা বলার কোনও উপায় নেই বলে মনে হচ্ছে, আপনাকে একটি কনফিগার ফাইল নির্দিষ্ট করতে হবে।
আমি মনে করি সেখানে 'ইলাইট' বা 'এইচএল' নামক একটি প্রোগ্রাম থাকত যা একটি প্যাটার্নের সাথে মেলে এমন পাঠ্যকে হাইলাইট করেছিল (যেমন grep --colour
, তবে এটিও মিলছে না এমন লাইনগুলি প্রদর্শন করে), তবে আমি এটি অনুসন্ধান করতে গিয়ে খুঁজে পেলাম না।
পরিশেষে, জিএনইউ grep
নিদর্শন হাইলাইট করতে ব্যবহার করা যেতে পারে - তবে কেবলমাত্র একটি রঙ ব্যবহার করা যেতে পারে (যেমন আপনার সবুজ রঙের পাস থাকতে পারে না এবং লাল রঙে ফলস, উভয়ই একই রঙের সাথে হাইলাইট করা হবে)।
এই জাতীয় কিছু মাধ্যমে আপনার ডেটা পাইপ করুন:
egrep --color "\b(PASS|FAIL)\b|$"
এই উদাহরণটিতে egrep (ওরফে grep -E
) ব্যবহার করা হয় তবে -G
বেসিক রিজেক্সপ , -F
ফিক্সড স্ট্রিং এবং -P
পিসিআরই কাজ করে।
সমস্ত ম্যাচ হাইলাইট করা হবে। ডিফল্ট লাল হয়, বা GREP_COLOR এনভ ভার্চ সেট করে।
এই কাজের মূল চাবিকাঠিটি হ'ল |$
প্যাটার্নে ফাইনালটি শেষ-এর-লাইনের সাথে মেলে (যেমন সমস্ত লাইন মেলে) সুতরাং সমস্ত লাইন প্রদর্শিত হবে (তবে বর্ণযুক্ত নয়)।
\b
শব্দ-সীমানা চিহ্নিতকারী যাতে এটি মিলে যায় যেমন ব্যর্থ কিন্তু ব্যর্থতা আছে। এগুলি প্রয়োজনীয় নয়, সুতরাং আপনি যদি আংশিক শব্দের সাথে মেলে করতে চান তবে সেগুলি সরিয়ে দিন।
আমি গতকাল লিখিত সুপারক্যাটটির জন্য উদাহরণের মোড়ক স্ক্রিপ্ট এখানে Here এটি কাজ করে, তবে এটি লেখার সময়, আমি আবিষ্কার করেছি যে সুপারক্যাটের কেস-সংবেদনশীল অনুসন্ধানের জন্য কোনও বিকল্প নেই। আইএমও, যা প্রোগ্রামটি উল্লেখযোগ্যভাবে কম দরকারী করে। এটি অবশ্য স্ক্রিপ্টটিকে খুব সরল করে দিয়েছে কারণ আমাকে '-i' বিকল্পটি লিখতে হয়নি :)
#! /bin/bash
# Requires: tempfile from debian-utils, getopt from util-linux, and supercat
SCRIPTNAME=$(basename $0)
CFGFILE=$(tempfile -p spc)
usage() {
cat <<__EOF__
Highlight regexp patterns found on stdin or files specified on command
line with specified colours.
Usage: $SCRIPTNAME [ --colour "pattern" ...] [FILE]
Options:
-k,--black regexp
-r,--red regexp
-g,--green regexp
-y,--yellow regexp
-b,--blue regexp
-m,--magenta regexp
-c,--cyan regexp
-w,--white regexp
Example:
run-script.sh | $SCRIPTNAME --green PASS --red FAIL
__EOF__
exit 0
}
# Format definition from the spc man page:
#1234567890123456789012345678901234567890123456789012345
#HTML Color Name Col A N T RE / String / Characters
FMT="%-20s %3s %1s %1s %1s (%s)\n"
add_color_to_config() {
COLOR="$1"
PATTERN="$2"
printf "$FMT" "$COLOR" "$COLOR" - 0 r "$PATTERN" >> "$CFGFILE"
}
# uses the "getopt" program from util-linux, which supports long
# options. The "getopts" built-in to bash does not.
TEMP=$(getopt \
-o 'hk:r:g:y:b:m:c:w:' \
-l 'help,black:,red:,green:,yellow:,blue:,magenta:,cyan:,white:' \
-n "$0" -- "$@")
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
eval set -- "$TEMP"
while true ; do
case "$1" in
-k|--bla*) add_color_to_config blk "$2" ; shift 2 ;;
-r|--red) add_color_to_config red "$2" ; shift 2 ;;
-g|--gre*) add_color_to_config grn "$2" ; shift 2 ;;
-y|--yel*) add_color_to_config yel "$2" ; shift 2 ;;
-b|--blu*) add_color_to_config blu "$2" ; shift 2 ;;
-m|--mag*) add_color_to_config mag "$2" ; shift 2 ;;
-c|--cya*) add_color_to_config cya "$2" ; shift 2 ;;
-w|--whi*) add_color_to_config whi "$2" ; shift 2 ;;
-h|--hel*) usage ; exit 0 ;;
--) shift ; break ;;
*) echo 'Unknown option!' ; exit 1 ;;
esac
done
spc -R -c "$CFGFILE" "$@"
rm -f "$CFGFILE"