Am Samstag, 27. Dezember 2003 10:46 schrieb Andreas Winkelmann:
Am Samstag, 27. Dezember 2003 00:25 schrieb Al Bogner:
ls -lA --time-style=iso --quoting-style=escape total 0 lrwxrwxrwx 1 ab users 5 12-27 00:20 b\ 1\ ä -> /boot lrwxrwxrwx 1 ab users 4 12-27 00:20 bin\ bla -> /bin
in
b\ 1\ ä=/boot bin\ bla=/bin
Die 1. Zeile ist also zu ignorieren. Andere ls-Optionen sind natürlich denkbar.
ls -lA --time-style=iso --quoting-style=escape|gawk '{if(FNR!=1) {line=substr($0,57);gsub("->","=",line);print line}}'
Eine Zeile.
Es wird die erste Zeile übersprungen, ab Pos 57 abgeschnitten und dann "->" durch "=" ersetzt.
Danke Andreas, leider ist das für mein mkisofs-Problem wider Erwarten nur ein kleiner Schritt weiter. Dieses mkisofs ist ziemlich bockig :-) BTW mkisofs will mit o.a. Syntax " = " und nicht "=", aber diese Kleinigkeit war schnell rausgefunden. In der Datei darf also vor und nach dem = kein Leerzeichen sein. Ist es möglich deine Pipe noch so zu erweitern, dass bei _keinem_ Link dann rechts neben dem = noch einmal das selbe steht, also zB irgendwas=irgendwas ? Das würde mich einen kleinen Schritt weiter bringen, da ich dann zumindest mal die Lösung für Dateien ohne Leerzeichen hätte. Ich habe mir ursprünglich vorgestellt dies in einer Schleife mit if zu lösen, aber deine Syntax ist da viel effizienter. Der Ansatz "ls --quoting-style=escape" ist für mkisofs nicht wirklich brauchbar. Ein bin\ bla=/bin in einer Datei "graftpointslist.txt" funktioniert zwar mit einer Syntax mkisofs -v -f -allow-lowercase -r -J -l -hide-rr-moved -V test -o /burn/testimage -graft-points -path-list graftpointslist.txt im Gegensatz zu bin bla=/bin aber das Verzeichnis auf der CD nennt sich dann 'bin\ bla' inkl. Backslash. Nach dem = habe ich noch gar keine Verzeichnisse mit Leerzeichen geschafft, auch nicht mit "\ ", mit " gequotet gibt es ebenfalls immer Fehlermeldungen. Irgendwie muß man doch bei mkisofs -graft-points -path-list Dateien bzw. Verzeichnisse mit Leerzeichen quoten können. Die Manpage ist da sehr spartanisch: -graft-points Allow to use graft points for filenames. If this option is used, all filenames are checked for graft points. The filename is divided at the first unescaped equal sign. All occurrences of '\\' and '=' characters must be escaped with '\\' if -graft-points has been specified. Wenn ich das richtig verstehe, geht es hier nur um \ und = als Bestandteil des Dateinamens. Es wird aber nichts darüber ausgesagt, wie Namen mit Leerzeichen zu quoten sind. Man könnte fast glauben, dass gar nicht zu quoten ist. (The filename is divided at the first unescaped equal sign). Ich ende bei Leerzeichen immer bei einer Meldung ähnlich 'Invalid node - /test\ mit\ blank' Al