[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

hilfe für script gesucht - war Dringend Hilfe gesucht



Hallo,
nochmals danke für eure Unterstützung gestern.
Zur Info: Es waren tatsächlich nur in drei Verzeichnissen pornografische Darstellungen zu finden und diese wurden höchstwahrscheinlich durch einen anderen Schüler dort abgelegt.
Aber meine Frage heute :
Habe :

find /skole/tjener/home0 -iname '*.jpg' -type f -exec mv "{}" /mein/ordner ";"

durchgefürt, hat geklappt und ich habe alles sichten können.
Ich muss aber gestehen, das ich erst später merkte, das ich wohl besser cp benutzt hätte !!!!!

Na ja, ist passiert -
habe heute für meine Kollegen deren Bilder händisch wieder in die homes geschoben.

Die anderen ca. 7000 Bilder sollten aber auch zurück in die homes, also brauche ich ein script, das folgendes macht:
Ich habe eine Datei users folgendermaßen erzeugt :
Auslesen der Benutzer. Da jeder Benutzer ein Homedirectory hat, dessen Name mit dem Benutzernamen identisch ist, kann man eine Liste der Benutzer einfach mit einem find erzeugen. find -maxdepth 1 -t d >users (falls Fehler gemeldet wird : find -maxdepth 1 -type d >users

Aus der so erzeugten Datei "users" müssen dann noch die verzeichnisse lost+found und . entfernt werden, und mit suchen und ersetzen die führenden ./ zeichen von den verzeichnissen entfernt werden.

Nun möchte ich ein script, das folgende Funktionen hat :
Mit
scriptname.sh<users
möchte ich
#!/bin/bash
  while read b
  do
    ????????
  done

Die ??? stehen für die Befehle, die ich suche :
1. erzeuge in den jeweiligen homes unter priv einen Ordner "Sammelbilder" (nenne ich den Bilder besteht die Gefahr das der schon besteht)
2. lasse für jeden user folgendes ausführen :
find /skole/tjener/home0/Bilder -user username -type f -exec cp "{}" /skole/tjener/home0/username/priv/Sammelbilder ";" ---------- hier muss ich irgendwie sagen: wenn find nichts findet, mache mit nächstem weiter ......+

Ich hoffe, das das nicht zu verwirrend ist !!!!

Mein Script sieht momentan  so aus :
./script.sh<users
#!/bin/bash
  while read b
  do
     mkdir /priv/Sammelbilder
find /skole/tjener/home0/Bilder -user xxxxx -type f -exec cp "{}" /skole/tjener/home0/xxxxx/priv/Sammelbilder ";"
  done

wie bekomme ich für xxx den username dort hinein , der ja in users übergeben wird ....
Für Hilfe dankbar ;)
Bernd Grah


Reply to: