delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2012/01/17/00:29:32

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,T_RP_MATCHES_RCVD
X-Spam-Check-By: sourceware.org
Date: Mon, 16 Jan 2012 21:30:04 -0800
From: Gary Johnson <garyjohn AT spocom DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Opening new cygwin window with arguments
Message-ID: <20120117053004.GA21173@phoenix>
Mail-Followup-To: cygwin AT cygwin DOT com
References: <CANc+RapKxS3xVVxtXo6=NYfpfvL=B2Sdk8xKaJ1UVPRKRgxvBA AT mail DOT gmail DOT com> <20120112033732 DOT GE9147 AT phoenix> <loom DOT 20120117T011442-614 AT post DOT gmane DOT org> <20120117023414 DOT GB20028 AT phoenix> <loom DOT 20120117T044609-960 AT post DOT gmane DOT org>
MIME-Version: 1.0
In-Reply-To: <loom.20120117T044609-960@post.gmane.org>
User-Agent: Mutt/1.5.20 (2009-06-14)
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On 2012-01-17, Jon Hughes wrote:
> Gary Johnson <garyjohn <at> spocom.com> writes:
> > 
> > I'm afraid I don't understand the problem.  Color _is_ enabled in
> > the new terminal.
> > 
> > As an experiment/demonstration, I executed this command in my home
> > directory which happened to contain a text file, ls.out, in which
> > the word "out" appeared on a few lines.
> > 
> >     mintty -h a grep --color=always out ls.out
> > 
> > The word "out" was colored in the new terminal just as I would
> > expect it to be.
> > 
> > What command are you executing that has colored output when executed
> > at the command line but not when executed as an argument to mintty?
> > 
> > Regards,
> > Gary
> > 
> > 
> 
> 
> This is the command I'm using:
> tail -f /foo/test.log | perl -pe 's/error/\e[1;31;43m$&\e[0m/g'
> 
> When I do the following there is no color:
> mintty -h a tail -f /foo/test.log | grep --color=always error
> 
> Your command does work correctly (to color based on a grep command parent, 
> rather than chained) but I'm not sure how to correctly modify it to use tail 
> while still coloring the errors.

The problem is that the shell parses that line as "execute mintty
and pipe its standard output to grep".  The standard output of tail
is not being filtered and perl is not being fed anything.

One way to solve that is to write your command like this:

    mintty sh -c "tail -f /foo/test.log | perl -pe 's/error/\e[1;31;43m$&\e[0m/g'"

HTH,
Gary


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019