अद्यतन: मैंने एक नई (अलग) स्क्रिप्ट जोड़ी है ... Ignacio Vazquez-Abrams एक बिंदु था: सवाल वास्तव में पूछता है executable scripts are green, et cetera.. ठीक है ... आपको इस उत्तर के अंत में ऐसी (प्रोटोटाइप) स्क्रिप्ट मिलेगी।
यह पहली (मूल) खंड के बारे में है grcऔर grcat।
यह काम करना चाहिए; grc... (जैसा कि enzotib ने बताया है .. पैकेज का नाम है grc... उदाहरण में प्रयुक्त उप-उपयोगिता, हैgrcat
generic colouriser for everything
generic colouriser, can be used to colourise logfiles,
output of commands, arbitrary text....
configured via regexp's.
निम्नलिखित उदाहरण प्रिंट करता है
./ मैजेंटा में
bin/cpp/ सियान में
bigint बोल्ड व्हाइट में
मैंने पूरी तरह से यह नहीं पता किया है कि यह इसे कैसे कॉन्फ़िगर करता है यह अभी तक फाइल को संभालता है, लेकिन ऐसा लगता है कि यह वही करेगा जो आप चाहते हैं (एक बार जब आप इसे वश में करते हैं .. उदाहरण के लिए)। कोई उप-डायर वाली फ़ाइल के लिए, और रंग अनुक्रम समान अनुक्रम में नहीं लगता है जैसे कि भाव।
मुझे लगता है कि यह संभव है (लेकिन मैं इस समय थोड़ा व्यस्त हूं) ...
echo "# my config file
regexp=(\./)(.*/)([^/]+)
colours=bold white,magenta,cyan
">$HOME/.grc/findhi
find . -maxdepth 3 -name '*' | grcat findhi
यहाँ नई इग्नासियो प्रेरित स्क्रिप्ट है :)
यह काम करता है यदि आप पहले arg to के रूप में किसी एक पथ का उपयोग करते हैं find। इस स्क्रिप्ट में UNTESTED समस्याएँ
हैं । यह केवल अवधारणा है।
एक मुद्दा है: प्रतीकात्मक कड़ियाँ ... गन्दा पानी ...
जैसा कि यह एक अज्ञात प्रकार (जैसे - एक प्रतीकात्मक कड़ी) का सामना करने पर प्रिंट करता है , और फिर उस अतीत को संसाधित करना जारी रखता है। उदाहरण के लिए
धन्यवाद ।
ERROR
enzotibtput
dircol=$(tput bold ;tput setaf 4)
coloff=$(tput sgr0)
root="$HOME" # define path here, not in 'find` arg
root="${root:-.}" # default to '.'
root="${root%/}/" # add trailing '/'
#
find "$root" -maxdepth 1 -name '*' -printf "%y %P\n" |
while read -r line ;do
case $line in
d ) printf "%s\n" "$dircol$root$coloff";;
d\ *) printf "%s\n" "$dircol$root${line:2}$coloff";;
f\ *) l="$root${line:2}"
d="${l%/*}/"
f="${l##*/}"
cd -P "$d"
printf "%s" "$dircol$d$coloff"
ls --color=always -R1 "$f"
cd - >/dev/null
;;
*) printf "ERROR - type not yet catered for\n";;
esac
done
bfsहै जिसकी यह कार्यक्षमता है: github.com/tavianator/bfs