From owner-freebsd-questions@FreeBSD.ORG Wed Sep 29 13:13:43 2010 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6334310656D0 for ; Wed, 29 Sep 2010 13:13:43 +0000 (UTC) (envelope-from ws@au.dyndns.ws) Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by mx1.freebsd.org (Postfix) with ESMTP id E88938FC18 for ; Wed, 29 Sep 2010 13:13:42 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApEBANzWokyWZWdv/2dsb2JhbAAH6SqFRASETotN Received: from ppp103-111.static.internode.on.net (HELO [192.168.1.144]) ([150.101.103.111]) by ipmail05.adl6.internode.on.net with ESMTP; 29 Sep 2010 22:43:42 +0930 From: Wayne Sierke To: lhmwzy In-Reply-To: References: Content-Type: text/plain; charset="ASCII" Date: Wed, 29 Sep 2010 22:43:38 +0930 Message-ID: <1285766018.90337.1198.camel@predator-ii.buffyverse> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: freebsd-questions@freebsd.org Subject: Re: sed problem X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Sep 2010 13:13:43 -0000 On Wed, 2010-09-29 at 17:43 +0800, lhmwzy wrote: > #%sed -e '/GROUP/{/Test/! d}' test > sed: 1: "/GROUP/{/Test/! d} > ": extra characters at the end of d command > also have error. > the system: > #uname -a > FreeBSD bxzxfreebsd.slof.com 7.2-RELEASE-p5 FreeBSD 7.2-RELEASE-p5 #1: > Fri Dec 4 17:58:13 CST 2009 > lhm@bxzxfreebsd.slof.com:/usr/obj/usr/src/sys/lhmwzy amd64 > > 2010/9/29 lhmwzy : > > I have a txt file named test: > > > > USER Added by ftpadmin > > GENERAL 0,0 120 204800 0 > > LOGINS 1 0 -1 -1 > > TIMEFRAME 0 0 > > FLAGS 3 > > TAGLINE lanshu4385 > > DIR / > > ADDED 1284812614 ftpadmin > > EXPIRES 0 > > CREDITS 15000 > > RATIO 0 > > ALLUP 0 0 0 > > ALLDN 0 0 0 > > WKUP 0 0 0 > > WKDN 0 0 0 > > DAYUP 0 0 0 > > DAYDN 0 0 0 > > MONTHUP 0 0 0 > > MONTHDN 0 0 0 > > NUKE 0 0 0 > > TIME 0 1284812614 0 0 > > GROUP Teest 0 > > GROUP eest 0 > > GROUP dTeest 0 > > GROUP tTeest 0 > > GROUP Test 0 > > IP *@* > > > > when I use the follow command: > > > > #sed -e '/GROUP/{/Test/}! d' test > > then output error: > > > > sed: 1: "/GROUP/{/Test/}! d > > ": command } expects up to 0 address(es), found 1 > > > > But this command under linux is OK,how can I do? > > Try: sed -e '/GROUP/{/Test/!d;}' or: sed -e '/GROUP/{' -e '/Test/!d' -e '}' Wayne