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.
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/
> 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. ;-)
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.
Wie wäre es mit "grep string datei | head -1"?
HTH
Michael
> 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 !
--------------------------------------------------------------------------
: Jede Idee ist willkommen.
Wenn du dies ernstmeinst und genug resourcen hast:
grep xyz file | head -1
Juergen
>: 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