PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Textteile aus Liste filtern



muellners
14.02.2005, 21:32
Hallo,

habe mit 'find' eine Liste erstellt (aus dem Home-Verzeichnis):

./hans/daten....
./hans/ordner/....
./hans/ordner2/...
./martin/meinedaten
./franz/....
./franz...
....

ich möchte nun die usernamen ( hans, martin, franz, usw. ) nacheinander als Variable einlesen und an einige eine Mail schicken.(einige davon ausschliessen)

grep "$variablenname" | mail -s "Nachricht" $variablenname

hätte da jemand eine Idee ???

oenone
14.02.2005, 22:06
hast du es in einer Datei gespeichert? wenn ja, probiers so:


for name in $(cat liste | cut -d/ -f2 | sort -u)
do
mail -s "Nachricht" $name
done

ansonsten kannst du 'cat liste' auch durch entsprechenden prozess (z.b. find) ersetzen.

auf bald
oenone

PS: falls du Usernamen mit Leerzeichen hast solltest du das beachten.

tr0nix
14.02.2005, 22:23
Im Prinzip wärs ja dasselbe wie:


for name in $(ls)
do
mail -s "Nachricht" $name
done


Wieso brauchst du den find-Command muellers?

muellners
15.02.2005, 05:48
den 'find' Befehl brauche ich um die erste Liste zu erstellen, ich durchsuche das Home-Verzeichnis auf unserem Server nach Dateien, die da eigentlich nichts zu suchen haben und möchte den usern per Mail mitteilen, das diese Dateien sich in ihrem Home-Verzeichnis befinden. Einige speichern einfach alles was ihnen unter die Finger kommt.

tr0nix
15.02.2005, 06:55
Ok, pass einfach auf wegen Persönlichkeitsrechten. Ich weiss da nicht genau, wie die Rechtslage ist!

Schlaubi_fi.de
15.02.2005, 10:34
Ich würde eher die /etc/passwd parsen. Denn möglich ist auch: $HOME != /home/username

Und wie tr0nix schon erwähnte - auch als Admin/root hast du nicht das Recht das Datenschutzgesetz zu verletzen - dass die Infrastruktur der Firma dermaßen missbraucht wird ist eine andere Sache, befrage zur Sicherheit mal einen Rechtsverdreher.

tr0nix
15.02.2005, 15:22
Stimmt Schlaubi! Besonders wenn man mal das Script auf z.B. Solaris portiert wo die Userhomes in /export/home liegen (/home ist für NFS) wärs natürlich mühsam. Wiederrum gibts oftmals kein sauberes Usernaming-Konzept so, dass das identifizieren der Systemaccounts bzw. User aus der passwd eine Herrausforderung wird (bei uns hier kein Problem, da jeder MA eine 7-Buchstaben Personalkennzeichnung hat).

Haben wir keine Rechtsverdreherunixboard-Fans hier?

TenBaseT
17.02.2005, 23:18
Ging diese Lösung nicht? http://www.mrunix.de/forums/showthread.php?t=37933

Hans