Hallo, Am Fri, 06 May 2005, Michael Hoeller schrieb:
mit dem Befehl $ find . -type f -exec grep -l 7024000002 {} \; bekomme ich alle Dateien die mich interessieren, ./20050420/INVRCPTS_7002_20050420111111.IN.archive ./20050420/INVRCPTS_7002_20050420111111.IN.bak ./20050424/INVRCPTS_7002_20050424111111.IN.archive ./20050421/INVRCPTS_7016_20050421111111.IN.archive
in diesen Dateien möchte ich dann gleich auch noch nach einem weiteren Wert suchen: $ grep 04029045300322-SKU ./20050420/INVRCPTS_7002_20050420111111.IN.archive TRDTL000000000604029045300322-SKU 0000000000010000R20050420212100000000000 00000000000000000000 ATS ATS
kann man das nicht in einen Aufruf stecken?
Und um das ganze schön zu machen möchte ich diese eine Zeile für n Wertepaare aus einer txt Datei aufrufen..
diese Werte sollen in der txt Datei stehen. 7024000002 04029045300322-SKU
KEYS_RE="" ## diese Variablen, solltest du (dann auch unten) ggfs. VALS_RE="" ## sinnvoll umbenennen, aber ich weiss nicht, was du suchst... while read k v; do KEYS_RE="${KEYS_RE}|${k}" VALS_RE="${VALS_RE}|${v}" done < eingabe.txt find . -type f -exec egrep -l "${KEYS_RE##|}" {} \; | \ xargs egrep "${VALS_RE##|}" Das sucht gleich nach allen Werten. Ob das konkret geht weiss ich nicht, kommt darauf an, wonach du suchst bzw. ob und wie du die gefundenen Stellen / Dateien weiterbearbeiten willst. Ansonsten: while read key val; do find . -type f -exec grep -l "$key" {} \; | xargs grep "$val" done < eingabe.txt HTH, -dnh -- I always wonder - when the weatherman says "50% chance of rain" - whether I should take half an umbrella. -- Tanuki