• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

egrep mit mehreren Dateiendungen

Olli

Newbie
Hallo Zusammen,

ich habe, dank Huflatisch, mein Mailscript fertig stellen können. Siehe http://www.linux-club.de/viewtopic.php?t=54919&highlight=.

Nun gibt es ja in diesem Script eine grep-Anweisung. Diese Anweisung müsste ich entsprechend den Vorgaben erweitern:

In $VERZ befinden sich drei Dateitypen:
- *.zip.bak
- *.zip
- *.dbf

Nun möchte ich gerne, dass grep mir die *.zip und *.dbf ausgibt aber die *.zip.bak ignoriert, da diese Dateien immer in $VERZ vorhanden sind.

Das Skript ist momentan wie folgt:
Code:
`find $VERZ -type f -print |grep dbf´

Ich habe es so abgeändert:
Code:
`find $VERZ -type f -print |egrep -e *.dbf -e *.zip --exclude='*.zip.bak'`

Ich möchte also das die Ausgabe der Dateien, mit der Endung .zip.bak unterdrückt wird. Leider gibt er mir die Dateien aber trotzdem aus.

Hat hier jemand ne Idee für mich?

MfG

Olli
 

Schroech

Member
Olli schrieb:
Nun möchte ich gerne, dass grep mir die *.zip und *.dbf ausgibt aber die *.zip.bak ignoriert, da diese Dateien immer in $VERZ vorhanden sind.

Das Skript ist momentan wie folgt:
Code:
`find $VERZ -type f -print |grep dbf´

Ich habe es so abgeändert:
Code:
`find $VERZ -type f -print |egrep -e *.dbf -e *.zip --exclude='*.zip.bak'`

Wenn ich das richtig verstehe müsste es doch auch so gehen:
Code:
find . -type f -a \( -name "*.zip" -o -name "*.dbf" \)

Dann bekommst du eh nur die Files mit der Endung zip oder dbf. Oder?
 
OP
Olli

Olli

Newbie
Hi Schroech,

ja ich brauche nur die Ausgabe, wenn eine .dbf bzw. eine .zip vorhanden ist, sonst nicht.

MfG

Olli
 
OP
Olli

Olli

Newbie
Hi Schroech,

hab das ganze jetzt eingebunden und es funktioniert.

Vielen Dank für dein Bemühen und deine Hilfe.

MfG

Olli
 

TeXpert

Guru
Du redest nur von $VERZ, d.h. ich schließe jetzt mal auf ein einziges ;) dann brauchst Du natürlich nicht mit find zu arbeiten,

Code:
$ ls --ignore='*.bak'
liefert natürlich auch nur die "nicht .zip.bak-Files"
 
Oben