Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

grep nach erstem Treffer

64 views
Skip to first unread message

G.Wolmershaeuser

unread,
Nov 18, 1996, 3:00:00 AM11/18/96
to

Hallo:

gibt es eine Moeglichkeit einen String zu suchen und die Suche nach dem
ersten Treffer abzubrechen? Die Funktion soll in ein Shell-Skript
eingebaut werden koennen. "grep" liefert (leider) jeden Treffer. Die
Datei z.B. zunaechst mit csplit aufzuteilen ist wohl nicht sehr elegant.
Jede Idee ist willkommen.

G. W.

Christoph Badura

unread,
Nov 19, 1996, 3:00:00 AM11/19/96
to

In <32909E...@chemie.uni-kl.de> "G.Wolmershaeuser" <wolm...@chemie.uni-kl.de> writes:
>gibt es eine Moeglichkeit einen String zu suchen und die Suche nach dem
>ersten Treffer abzubrechen? Die Funktion soll in ein Shell-Skript
>eingebaut werden koennen.

sed -n "/string/{p;q;}" datei

--
Christoph Badura

Now available in print: Lion's Commentary on UNIX 6th Edition, with Source Code
http://www.peer-to-peer.com/

J Wunsch

unread,
Nov 19, 1996, 3:00:00 AM11/19/96
to

"G.Wolmershaeuser" <wolm...@chemie.uni-kl.de> schrieb:

> gibt es eine Moeglichkeit einen String zu suchen und die Suche nach dem
> ersten Treffer abzubrechen?

Na klar, we are Unix. :-)

j@uriah 344% sed -n -e '/vt100/ { p; q; }' /etc/termcap
:cs@:sc@:rc@:xn@:tc=vt100:

--
cheers, J"org

joerg_...@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)


Rainer Gerike

unread,
Nov 19, 1996, 3:00:00 AM11/19/96
to

-----BEGIN PGP SIGNED MESSAGE-----

G.Wolmershaeuser <wolm...@chemie.uni-kl.de> wrote:
> Hallo:

> gibt es eine Moeglichkeit einen String zu suchen und die Suche nach dem

> ersten Treffer abzubrechen? Die Funktion soll in ein Shell-Skript

Hm, abbrechen geht so nicht, aber Du bekommst nur den ersten Treffer:
grep "ausdruck" durchzusuchendedateien | head -1

Rainer


-----BEGIN PGP SIGNATURE-----
Version: 2.6.3i
Charset: latin1

iQCVAwUBMpD7mLvCHj3olMVlAQHBJgQAvyloAdjvdfzcoc8WA2DBp0Ru/zGF8Ekj
1NDaADbU8aMWVHH9yAYM9qzsJ8bCNGbhxthMDqzYn9cFaTxBMHPWaV8x9r3ciQpl
whMGuiTDntWgzgFtu7Gyl4vaX/rfrpQa7nuM9TNMW5dc8T96Nz+IdxLyIFvjdbdz
mOKBe9gcFw8=
=NxdB
-----END PGP SIGNATURE-----
--
Heute ohne Signatur.

Michael Siefritz

unread,
Nov 19, 1996, 3:00:00 AM11/19/96
to G.Wolmershaeuser

G.Wolmershaeuser wrote:
> gibt es eine Moeglichkeit einen String zu suchen und die Suche nach dem
> ersten Treffer abzubrechen? Die Funktion soll in ein Shell-Skript
> eingebaut werden koennen. "grep" liefert (leider) jeden Treffer. Die
> Datei z.B. zunaechst mit csplit aufzuteilen ist wohl nicht sehr elegant.
> Jede Idee ist willkommen.

Wie wäre es mit "grep string datei | head -1"?

HTH

Michael

Martin Spott

unread,
Nov 19, 1996, 3:00:00 AM11/19/96
to

G.Wolmershaeuser (wolm...@chemie.uni-kl.de) wrote:

> gibt es eine Moeglichkeit einen String zu suchen und die Suche nach dem

> ersten Treffer abzubrechen? [...]

Vielleicht reicht's ja, ein 'head -1' anzuhaengen.

Martin.
--
EMail: I prefer correspondence to: Martin...@onyx.dirnet.com
If necessary, business mail can be sent to: Martin...@uni-duisburg.de
--------------------------------------------------------------------------
Unix _IS_ user friendly - it's just selective about who its friends are !
--------------------------------------------------------------------------

Juergen Schroeder

unread,
Nov 20, 1996, 3:00:00 AM11/20/96
to

G.Wolmershaeuser (wolm...@chemie.uni-kl.de) wrote:
:
: gibt es eine Moeglichkeit einen String zu suchen und die Suche nach dem
: ersten Treffer abzubrechen? Die Funktion soll in ein Shell-Skript

: Jede Idee ist willkommen.

Wenn du dies ernstmeinst und genug resourcen hast:

grep xyz file | head -1

Juergen

Joerg Scheurich aka MUFTI

unread,
Nov 21, 1996, 3:00:00 AM11/21/96
to

>: gibt es eine Moeglichkeit einen String zu suchen und die Suche nach dem
>: ersten Treffer abzubrechen? Die Funktion soll in ein Shell-Skript
>
>: Jede Idee ist willkommen.
>
>Wenn du dies ernstmeinst und genug resourcen hast:
>
>grep xyz file | head -1

Wenn es darum geht, nur 1 Treffer in langen Dateien zu landen und es auf
Performance ankommt, koennte man ueberlegen, awk oder perl statt grep
zu benutzen.

so ala ...

#!/bin/ksh
for i in $*
do
awk '/xyz/ {print "wasweisich ",FILENAME,":",FNR,":",$0;exit(0)}' $i
done

Dummerweise ist aber die Syntax fuer komplizierte regular expressions
raffiniert inkompatibel zwischen grep und awk 8-(

so long
MUFTI

0 new messages