Date: Sat, 3 Aug 2002 02:58:50 +0200 From: Roman Neuhauser <neuhauser@bellavista.cz> To: freebsd-questions@FreeBSD.ORG Subject: Re: smart file gobbling: exclude one file from list Message-ID: <20020803005850.GR52563@freepuppy.bellavista.cz> In-Reply-To: <20020803002236.GA4398@dan.emsphone.com> References: <001201c23a6e$17e78e60$0200a8c0@capm> <20020802215617.GA9408@dan.emsphone.com> <20020802220620.GN52563@freepuppy.bellavista.cz> <20020803002236.GA4398@dan.emsphone.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> Date: Fri, 2 Aug 2002 19:22:36 -0500 > From: Dan Nelson <dnelson@allantgroup.com> > To: Pascal Giannakakis <capm@gmx.net>, freebsd-questions@FreeBSD.ORG > Subject: Re: smart file gobbling: exclude one file from list > > In the last episode (Aug 03), Roman Neuhauser said: > > > In the last episode (Aug 02), Pascal Giannakakis said: > > > > if i do "cp * /destination", all files in the current directory > > > > will be copied to /destination. What do i have to type, if i want > > > > to expand the '*' to all files, except of one? For example, if i > > > > wanted to exclude the file "notme" in the current directory? > > > > > > > > I know i could hack it with grep, but this fails as all files are > > > > on one line. I wonder how you gurus would solve this! :) > > > > > > If you are using zsh and have the EXTENDED_GLOB option set, > > > > > > cp *~notme /destination > > > > > > Otherwise, you'll need to do something like > > > > > > cp $(echo ' ' * ' ' | sed -e 's/ notme / /') /destination > > > > this is somewhat easier: > > > > cp $(echo `ls|grep -xv notme`) /destination > > Although I don't think either will handle files with spaces in them. mine doesn't. -- FreeBSD 4.6-STABLE 2:58AM up 3 days, 10:34, 8 users, load averages: 0.00, 0.00, 0.00 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020803005850.GR52563>