help-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Changing colouring through a line of text


From: Bipul kumar
Subject: Re: Changing colouring through a line of text
Date: Wed, 22 Mar 2023 09:45:37 +0530

Hi,
I apologize for my mistake in sending you the wrong image earlier.
Things have been a bit hectic here, but I have set aside two hours to
address your concerns and debug the code.
Please find the  correct code and I hope that it will resolve your issue.

>
> marinex-ndic ()  {
> local -r rst="$( tput sgr0 )"  # Default Graphic Rendition
> local -r blu="$( tput bold; tput setaf 39 )"  # BLUE
> local -r wht="$( tput bold; tput setaf 15 )"  # WHITE
> printf '%s\n' "$2"      | while IFS="" read -r vl
> do
> printf '%s%s%s%s%s\n' "${blu}" "$(echo $vl | cut -c 1-$1)" "${wht}"
> "$(echo $vl | cut -c $(($1+1))-)" "${rst}"
> done
> }


Apart, I would suggest that you should add some error handling into this
script to prevent any further mishaps.
Thank you for your understanding.

    Respectfully,
    Bipul
    PUBLIC KEY <http://ix.io/1nWf>
    97F0 2E08 7DE7 D538 BDFA  B708 86D8 BE27 8196 D466
                    ** Please excuse brevity and typos. **


On Wed, Mar 22, 2023 at 12:43 AM uzibalqa <uzibalqa@proton.me> wrote:

>
>
> ------- Original Message -------
> On Wednesday, March 22nd, 2023 at 2:52 AM, Bipul kumar <
> bipul.opensource@gmail.com> wrote:
>
>
> > sorry the wrong image has been sent out mistakenlyPlease find the
> correct one
> >
> > [Client-looking.png]
> >
> > Hope it works to your end.
> >
> > Respectfully,
> > Bipul
> > PUBLIC KEY
> > 97F0 2E08 7DE7 D538 BDFA B708 86D8 BE27 8196 D466
> > ** Please excuse brevity and typos. **
> >
> > On Tue, Mar 21, 2023 at 8:19 PM Bipul kumar <bipul.opensource@gmail.com>
> wrote:
> >
> > > Hi
> > > If I understand correctly, you want to enter two things: a number
> indicating the number of columns you want, and a string.
> > > You want to print the beginning of the string up to the specified
> number of columns in blue and the rest of the string in white.
> > >
> > > At this point of your code ** printf '%s%s%s%s%s\n' "${blu}" "$vl"
> "$wht" "$vl" "${rst}" **
> > > you should modify your code to retrieve output by utilizing the
> specified range mentioned in the 1st argument (i.e., 18 in your case).Then,
> you need to print it using the reference of shell variables (e.g., blue and
> white) that you defined earlier in your code for foreground.
> > >
> > > For example here in this picture
> > > https: // ibb.co/0CQbXgc
> > > https://ibb.co/0CQbXgc
> > > [faceoff.jpeg]
> > > To retrieve the desired string for the blue and white outputs, I have
> used the cut command in a subshell.
> > > This command is applied to the input string provided as the second
> argument to the function.
> > >
> > >
> > > Respectfully,
> > > Bipul
> > > PUBLIC KEY
> > > 97F0 2E08 7DE7 D538 BDFA B708 86D8 BE27 8196 D466
> > > ** Please excuse brevity and typos. **
> > >
> > > On Mon, Mar 20, 2023 at 8:58 PM uzibalqa <uzibalqa@proton.me> wrote:
> > >
> > > > I am doing a bash function that takes a multiline string and prints
> each line. The first part of each line uses a blue foreground, whereas the
> rest of each line uses a white foreground.
> > > >
> > > > I want to have the user define a column number from which the
> foreground colour on each line changes to white.
> > > >
> > > > I need help to do this.
> > > >
> > > > The input string would be
> > > >
> > > > str='
> > > > marinex-dgrul Digit
> > > > marinex-ltrul Letter
> > > > marinex-nmrul Numeric'
> > > >
> > > > Then one would call
> > > >
> > > > marinex-ndic 18 "$str"
> > > >
> > > > The plan is to have the beginning of each line being blue, whilst
> from column number 18 the colour changes to white.
> > > >
> > > > marinex-ndic ()
> > > > {
> > > > ## Show coloured and label
> > > >
> > > > local -r rst="$( tput sgr0 )" # Default Graphic Rendition
> > > > local -r blu="$( tput bold; tput setaf 39 )" # BLUE
> > > > local -r wht="$( tput bold; tput setaf 15 )" # WHITE
> > > >
> > > > printf '%s\n' "$@" \
> > > > | while IFS="" read -r vl; do
> > > > printf '%s%s%s%s%s\n' "${blu}" "$vl" "$wht" "$vl" "${rst}"
> > > > done
> > > > }
>
> Thought it was a joke.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]