URL: https://www.overclockers.at/linux/solvedlinux-del-folder_238985/page_1 - zur Vollversion wechseln!
Moin,
Ich hab nach dem Datentransfer vom alten Synology zum neuen QNAP Nas in so ziemlich jedem Ordner den System(?) Ordner @eaDir. Die würd ich gern löschen, meine (recht kleinen) Linux Kenntnisse reichen hier aber scheinbar nicht aus.
was bisher geschah:
find /share/MD0_DATA/ -type d -name @eaDir |xargs rm -rf
Haut irgendwie nicht hin. Wenn ich danach ein find mache find ich immer noch folder...
tia!
edit: mir wurde schon geholfen. wohl etwas zu früh geschossen mit einem thread.
Code:find /share/MD0_DATA/ -type d -name "@eaDir" | tr "\n" "\000" | xargs -0 rm -rf
For the record:
würde auch gehen. Imho schöner als die "\n"s rauszureißenCode:find /share/MD0_DATA/ -type d -name "@eaDir" -exec rm -r {} \;
das habe ich auch versucht aber das -exec scheint das qnap nicht zu checken
"-exec" ist POSIX, und wird garantiert von jeder `find`-Implementation unterstuetzt. Vermutlich hast du einen Syntaxfehler eingebaut.
Der "Trick", via `tr` \n durch \0 ersetzen zu lassen, ist unnoetig bzw. sogar falsch. Wenn man wirklich so arbeiten muss (Pfadnamen via `find` an irgendeinen consumer zu pipen, der \0-Bytes als Trennzeichen erwartet - so wie etwa `xargs` mit dem "-0"-Switch) so kann man die "-print0"-Direktive von `find` nutzen:
Code:$ find . -maxdepth 1 -iname ".bash*" -print0 | xxd 0000000: 2e2f 2e62 6173 685f 6869 7374 6f72 7900 ./.bash_history. 0000010: 2e2f 2e62 6173 685f 6c6f 676f 7574 002e ./.bash_logout.. 0000020: 2f2e 6261 7368 5f70 726f 6669 6c65 002e /.bash_profile.. 0000030: 2f2e 6261 7368 7263 002e 2f2e 6261 7368 /.bashrc../.bash 0000040: 5f61 6c69 6173 6573 00 _aliases.
Code:find /share/MD0_DATA/ -type d -a -name '@eaDir' -prune -exec rm -rf {} +
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025