Grüß Gott alle zusammen !
Ich hab (schon wieder) ein kleineres Anfängerproblem beim Skriptschreiben bei dem ich dummerweise bis jetzt keinen richtigen Aufhänger für Tante Google gefunden habe. Folgende Situation : in zwei gut gefüllten Ordnern habe ich einige wenige Text- und Bilddateien, die inhaltlich identisch sind, aber verschiedene Namen haben.
Um die überprüfen zu können, möchte ich mir ein Skript erstellen, das mir die Namen der Dateien gleicher Größe aus den beiden Ordnern in eine Datei schreibt.
Das ist der derzeitige Stand der Versuche :
|
Quellcode
|
1
2
3
4
5
6
7
8
9
|
#!/bin/sh
echo > tmp2;
for i in /home/user/testdir1/*;
do ls -l $i | cut -b 26-31, 68- | read sz nm;
find /home/user/testdir2/ -size ${sz}c -fprint tmp1;
cat echo $nm tmp2 tmp1 > gleich;
rm tmp1; cp gleich tmp2
done
rm tmp2
|
Fehlermeldung ist : Unbekanntes Argument für -size
Offensichtlich scheitert es schon mal daran, daß der read Befehl nicht das macht,was ich mir vorgestellt habe. Die Ausgabe des cut Befehls auf den Bildschirm klappt zwar, ein echo $sz aber schon nicht mehr. Da habe ich anscheinend einige Verständnisprobleme mit dem Pipelining bzw. den cut und read Befehlen.
Auch die cat Zeile sieht für mich noch ziemlich wackelig aus. Könnt ihr mir da einen Tipp geben ?
Eigentlich vermute ich, daß das ganze Problem auch viiiiiiel einfacher zu lösen ist, aber was ich bisher gelesen und ausprobiert habe (mit test oder sort z.B.) scheint alles nicht ganz zu gehen.
Bin wie immer für jede Anregung dankbar !
delix