• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] Dateien eines bestimmten Users löschen

DrSputnik

Member
Nabend,

ich habe ein Verzeichnis in dem sich Dateien und Verzeichnisse zweier User befinden.

Beide User sind in der selben Gruppe.

Wie kann ich nur Dateien/Verzeichnisse löschen die User A gehören.
Die Files/Dirs von User B sollen erhalten bleiben???

!!!EILT!!!

Danke
 
Hier wäre ein Blick in die manpage von 'find' angebracht:

Code:
-uid N 
die Kennziffer des Eigentümers ist N

-user Name
die Datei gehört dem Anwender Name

Die Ausgabe an rm übergeben und fertig.
 
OP
D

DrSputnik

Member
Besten Dank,

aber wie übergebe ich den find an den rm?

find . -name usera -print | rm
find . -name usera -print > rm
rm < find . -name usera -print
gehen nicht
 

Spasswolf

Member
Mit
Code:
find . -name usera
suchst du nach Dateien die usera heißen.
Probier's mal so:
Code:
find . -user usera -type f -exec rm "{}" \;
danach
Code:
find . -user usera -type d -exec rmdir "{}" \;
 
A

Anonymous

Gast
Spasswolf schrieb:
Code:
find . -user usera -type f -exec rm "{}" \;
danach
Code:
find . -user usera -type d -exec rmdir "{}" \;

Hat zwei Einschränkungen: erste sind die vielen für Neulinge unübersichtlichen und unverständlichen Sonderzeichen am Ende.
und zweite kommt dann wenn zu viele Dateien gefunden werde, dass rm die vielen als Optionen übergebenen Dateien nicht auf einmal verarbeiten kann. dann doch "printen" und über Pipe aber mit xargs an rm übergeben
Code:
find . -user usera -type f -print | xargs rm
mit wieder einer Einschränkung wenn Dateien mit Leerzeichen im Dateinamen dabei sind, dann
Code:
find . -user usera -type f -print0 | xargs -0 rm
siehe auch die Manpage von find und von xargs
Hatten wir dir aber alles schon vor 2 Jahren verraten :wink:
http://www.linux-club.de/viewtopic.php?t=53900


robi
 

pft

Advanced Hacker
Hat zwei Einschränkungen: erste sind die vielen für Neulinge unübersichtlichen und unverständlichen Sonderzeichen am Ende.
Eigentlich sind es doch nur 2, oder sind für die die Anführungeszeichen und und der Escape so exotisch? Ausserdem braucht ers ja nur abtippen :)

und zweite kommt dann wenn zu viele Dateien gefunden werde, dass rm die vielen als Optionen übergebenen Dateien nicht auf einmal verarbeiten kann.
Das ist doch Unsinn weil genau das das Problem ist das "find" löst. Es wird hier immer genau ein Dateiname an rm übergeben. Wenn Du es nicht glaubst dann ersetze mal "rm" durch "echo" oder "wc", oder "file".
Das wirkliche "Problem" wenn Du so willst ist das rm sehr of aufgerufen wird, so dass es ein wenig dauert. Aber Linux ist mit sowas erstaunlich effizient im Vergleich zu dem anderen OS :)
 
A

Anonymous

Gast
pft schrieb:
Das ist doch Unsinn weil genau das das Problem ist das "find" löst. Es wird hier immer genau ein Dateiname an rm übergeben. Wenn Du es nicht glaubst dann ersetze mal "rm" durch "echo" oder "wc", oder "file".
ok. hast mich überzeugt, ich behaupte ab sofort das Gegenteil :wink:

robi
 
OP
D

DrSputnik

Member
Ja besten Dank,

war nur schon sehr spät, und mir ist etwas ziemlich Dummes passiert....

Grüße Dr.Sputnik.....
 
Oben