Schleife um Files zu kopieren, als Parameter zu übergeben und zu löschen

JenZor

Lt. Commander
Registriert
Aug. 2011
Beiträge
1.190
Hallo zusammen,


ich möchte ein kleines Bash Skript schreiben, das in einem Unixumfeld arbeiten soll und mir bestimmte Files.gz aus einem Quellverzeichnis (source) in ein Zielverzeichnis (dest) schiebt, diese mit gunzip entpackt, die entpackte Datei (selber Name, nur ohne .gz am Ende) als Parameter einer Java.jar auf dem Pfad jarpfad übergibt und sie anschließend entpackte Datei und *.gz Datei wieder löscht.

Ich weiß nicht, ob ich auf dem richtigen Dampfer bin:

bisher bin ich soweit:

Code:
#!/bin/bash

for i in $( ls source ); do
    cp $i dest
    gunzip dest/$i
    java -jar jarpfad/java.jar $i
    rm dest/$i
done

Das sollte mir prinzipiell erstmal alles kopieren, was im Verzeichnis source liegt.
Jetzt möchte ich aber nicht alle Daten, sondern nur die, die das Format "*<aktuellesDatum>*.gz" haben.


Wie kann ich testen, ob das $i meinem Regulären Ausdruck entspricht?

schlicht mit:

Code:
if [$i == *<aktellesDatum>*.gz]; then
   cp $i dest
fi
?


Und wie kann ich die entpackte Datei der JAR als Parameter übergeben?
Im ersten Listing wird ja atm wenn ich das richtig verfolge nur die *.gz Datei übergeben.


Ich hoffe ihr könnt mir helfen. Danke schonmal!



Gruß

J.
 
Zuletzt bearbeitet:
Zurück
Oben