From owner-freebsd-questions@FreeBSD.ORG Sun Dec 28 21:06:45 2003 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F33F816A4CE for ; Sun, 28 Dec 2003 21:06:44 -0800 (PST) Received: from zim.0x7e.net (zim.0x7e.net [203.38.184.132]) by mx1.FreeBSD.org (Postfix) with ESMTP id 82E3D43D2D for ; Sun, 28 Dec 2003 21:06:43 -0800 (PST) (envelope-from listone@deathbeforedecaf.net) Received: from goo.0x7e.net ([203.38.184.164] helo=goo) by zim.0x7e.net with smtp (Exim 3.36 #1) id 1Aapbv-000Dn2-00; Mon, 29 Dec 2003 15:36:35 +1030 Message-ID: <009801c3cdc9$88507280$a4b826cb@goo> From: "Rob" To: "Daniela" , References: <200312290334.25341.dgw@liwest.at> Date: Mon, 29 Dec 2003 15:36:35 +1030 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Subject: Re: Complex quoting task in tcsh X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Dec 2003 05:06:45 -0000 Daniela, This isn't the answer you would like, but tcsh is generally considered a bad language for writing scripts*. It's an excellent command-line shell, but scripts are not its strong point. One reason is the one you've just run into - quoting is a little flakey, especially when you try to do something tricky. For 'basic' scripts, either sh(1) or ksh(1) is usually the way to go. As an example, here's your line-checking question, using sh and FreeBSD commands: cat somefile | while read LINE ; do if echo "$LINE" | grep -q '^#' ; then # do something with $LINE fi done For more complex work, perl or python are usually recommended. On the other hand, if you just want to filter the comments out of a file, put grep -v '^#' at the start of your pipeline. * Csh Programming Considered Harmful (1996) http://www.perl.com/pub/a/language/versus/csh.html ----- Original Message ----- From: "Daniela" Subject: Complex quoting task in tcsh > I'm writing a tcsh script and I can't figure out how to escape that #. > I tried all possible variations, and it always says I have a syntax error. > Here's one: > if ($line =~ "#*") > Or is there another way to find out if the line starts with a hash mark? > > Regards, > Daniela > > > _______________________________________________ > freebsd-questions@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org" >