Vergleichen von (sehr vielen) Dateien ...
Von: Bodo Schulz (b.schulz@sinnerschrader.de) [Profil]
Datum: 30.09.2009 14:27
Message-ID: <h9viqo$v0d$1@oemcomputer.oerks.de>
Followup-to: de.comp.os.unix.shell
Newsgroup: de.comp.os.unix.shell
Datum: 30.09.2009 14:27
Message-ID: <h9viqo$v0d$1@oemcomputer.oerks.de>
Followup-to: de.comp.os.unix.shell
Newsgroup: de.comp.os.unix.shell
Moin Moin!
Ich habe ein größeres Performanceproblem eines 'geerbten'
Bash-Scriptes.
Jaaaa, ich weiß durchaus, dass die Bash nicht gerade ein
Geschwindigkeitskünster ist, aber ich kann (und darf auch) nicht das ganze
neu machen. :(
Das eigentliche Problem ist wie folgt:
Ich habe 2 Verzeichnissbäume, die hauptsächlich .jsp Dateien
beinhalten.
Zur Zeit sind das ~15.000 Stück.
In Baum A fallen neue Dateien hinein, oder werden Dateien gelöscht.
Das Script vergleicht Baum A mit Baum B und muss für
geänderte Dateien (die
also in Baum B fehlen) "irgendwas" veranstalten.
Vor dem Vergleich wird mittels find eine entsprechende Variable mit allen
Dateien definiert:
,--------------------------------------------------------
len=$(( ${#dir} +2 ))
FILES="`find ${dir}/ -name "*.jsp" | cut -c ${len}-`"
`--------------------------------------------------------
Das Vergleichen sieht dann so aus:
,--------------------------------------------------------
for FILE in ${FILES}
do
f=`echo ${FILE##*/}`
d=`echo ${FILE%/*}`
if [ \( ${a}/${FILE} -ot ${b}/${FILE} \) -o \( ${a}/${FILE} -nt
${b}/${FILE} \) ]
then
# und hier kommt das gesummse ...
fi
done
`--------------------------------------------------------
Das dumme an dieser Geschichte ist halt, wenn die beiden Verzeichnissbäume
identisch sind, wird trotzdem die Schleife komplett durchgezogen.
Das kann dann schon mal bis zu 7 Minuten dauern, je nachdem, was sonst noch
auf der Kiste los ist ...
Ich würde das ganz gern etwas optimaler gestalten, beiss mir momentan aber
die Zähne aus. Wahrscheinlich seh ich den Wald vor lauter
Bäumen nicht mehr
:(
Vielleicht habt ihr ein paar Tipps für mich?
Gruß,
Bodo
[ Auf dieses Posting antworten ]Antworten
- Holger Marzen (30.09.2009 15:14)
- Bodo Schulz (30.09.2009 16:23)
- Holger Marzen (30.09.2009 16:33)
- Juergen Ilse (01.10.2009 13:08)
- balaf (30.09.2009 16:42)
- Jochen Schluchz (30.09.2009 17:06)
- Helmut Hullen (30.09.2009 16:53)
- Hauke Laging (30.09.2009 18:18)
- Hauke Laging (30.09.2009 23:01)
- Heinrich Schirmer (30.09.2009 21:54)
- Marcel Bruinsma (01.10.2009 07:38)
- Tilo Strack (01.10.2009 14:15)
- Juergen P. Meier (02.10.2009 09:30)
