Null-separierte Liste rueckwaerts ausgeben

16/10/2008 - 20:50 von Tobias Nissen | Report spam
Hallo!

Ich erzeuge mit

find -mindepth 1 -type d -printf "%P\0"

eine Liste von Verzeichnissen, die spàter mit rmdir gelöscht werden
sollen. Wenn ich mit trennen würde, könnte ich die Liste einfach
durch tac jagen. So muss ich tac aber sagen, dass das Trennzeichen
nicht , sondern \0 ist. Prinzipiell müsste das ja mit --separator
gehen, aber egal wie ich es versuche,

tac --separator=\0, tac --separator=\000, tac --separator=\\000
tac --separator=\\0, tac --separator="\0", usw...

nichts hilft, die Liste wird immer unveràndert ausgegeben. Das dürfte
ja nur dann der Fall sein, wenn er das Trennzeichen niemals findet.
Aber ich weiß beim besten Willen nicht, was ich noch versuchen soll.

Vorschlàge?
Tobias

P.S.: Zum Einsatz kommen jeweils die GNU Versionen. Ein rm -rf kommt
für mich nicht in Frage.
 

Lesen sie die antworten

#1 Bernd Eckenfels
17/10/2008 - 04:39 | Warnen spam
Tobias Nissen wrote:
find -mindepth 1 -type d -printf "%P\0"



Wenn du GNU find hast kannst du auch -print0 nehmen.

eine Liste von Verzeichnissen, die spàter mit rmdir gelöscht werden
sollen.



Wenn du eine tiefensuche willst, bietet sich -depth an.

find . -mindepth 1 -depth -type d -print0 | xargs -0 rmdir

Sollte also gehen.

Gruss
Bernd

Ähnliche fragen