Boris Höffgen wrote:
ich möchte erreichen, dass die Pfade in meiner Variablen gestrichen sind.
Also: Das Verzeichnis cxsc hat zwei Unterverzeichnisse c1 und c2
#!/bin/sh PF=/test/cxsc NAMES=`find $PF -type d -print|sort -r|grep $DBPATH/|sed -e 's|$DBPATH||g'` echo $NAMES
Die Ausgabe sollte eigentlich "c1 c2" ausspucken und nicht "/test/cxsc/c1 /test/cxsc/c2". Es scheitert am sed. Der schneidet den Pfad nicht raus. Wo liegt der Fehler?
Mal davon abgesehen, dass a) das Skript mehrere Fehler enthaelt (z.B. das sed-Kommando), b) ein grep in Verbindung mit sed immer ueberfluessig ist (sed kann selbst auf eine Adress-Uebereinstimmung testen), c) das Skript, selbst wenn es funktionieren wuerde, vermutlich drei Verzeichnisse ausspucken wuerde (naemlich c1, c2 und cxsc selbst), und d).... Naja ich hoere schon auf. Jedenfalls ist das ganze grep, sort, sed, etc. unnoetig, und das Problem laesst sich mit einem einfachen $> find /test/cxsc/ -type d -printf "%f\n" erschlagen. Cheers, Th.