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 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: <20120112033732 DOT GE9147 AT phoenix> <20120117023414 DOT GB20028 AT phoenix> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , 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 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