Hi,
ich bin leider nicht so fit im Bashcoding, deshalb hoffe ich auf eine nette Seele die mir kurz einen gefallen macht und mir ein Codeschnippsel erstellt.
Ich möchte gerne alle Dateien in einem Verzeichnis, die die UID xxxx haben der UID yyyy zuweisen. Dürfte doch eigentlich ein 1-Zeiler sein, oder? :-D
Wäre wirklich sehr froh darum, thx im voraus
so long
static
Bitte um kurzes Script :)
-
- Posts: 401
- Joined: 2002-12-19 02:06
- Location: Siegburg
Re: Bitte um kurzes Script :)
Da hilft nur: lesen und probieren.static wrote:ich bin leider nicht so fit im Bashcoding,
Ungetestet:deshalb hoffe ich auf eine nette Seele die mir kurz einen gefallen macht und mir ein Codeschnippsel erstellt.
Ich möchte gerne alle Dateien in einem Verzeichnis, die die UID xxxx haben der UID yyyy zuweisen. Dürfte doch eigentlich ein 1-Zeiler sein, oder? :-D
Code: Select all
find /verzeichnis -uid xxx | xargs chown yyy
Code: Select all
man find
-
- Posts: 437
- Joined: 2002-10-27 19:56
- Location: Schweiz
Re: Bitte um kurzes Script :)
Habs mir vorgenommen :lol:olaf.dietsche wrote:Da hilft nur: lesen und probieren.
Code: Select all
find /verzeichnis -uid xxx | xargs chown yyy
thx @ olaf
so long
static
-
- Userprojekt
- Posts: 916
- Joined: 2002-06-17 16:09
Re: Bitte um kurzes Script :)
Geht auch ohne xargs, ich hätte das so gelöst:static wrote:funzt wunderbar - xargs war hierbei der Teil auf den ich nicht gekommen binCode: Select all
find /verzeichnis -uid xxx | xargs chown yyy
![]()
Code: Select all
chown yyy `find /verzeichnis -uid xxx`
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
Warum man sich an diese Reihenfolge halten sollte...
-
- Posts: 401
- Joined: 2002-12-19 02:06
- Location: Siegburg
Re: Bitte um kurzes Script :)
Wenn es sehr viele Dateien sind, dann stößt man mit den Backticks an die Systemgrenzen. Bei xargs werden die Dateien in handliche Portionen aufgeteilt, also quasi der Mittelweg zwischen deiner Version (genau ein chown Aufruf) und find ... -exec chown (sehr viele chown Aufrufe).MajorTermi wrote:Geht auch ohne xargs, ich hätte das so gelöst:Code: Select all
find /verzeichnis -uid xxx | xargs chown yyy
Code: Select all
chown yyy `find /verzeichnis -uid xxx`
-
- Posts: 532
- Joined: 2002-08-13 12:05
Re: Bitte um kurzes Script :)
Code: Select all
find /verzeichnis -type f -uid XXX -exec chown YYY {} ;
Ansonsten:
Code: Select all
chown -R YYY /verzeichnis/*
man find, man chown
-
- Posts: 1500
- Joined: 2002-12-04 10:22
- Location: 4. Server von rechts, 2. Reihe von oben
Re: Bitte um kurzes Script :)
Das hat mir yast übrigens zum Ã?ndern aller Dateien auf der gesamten Platte einer UID vorgeschlagen, als ich eine User ID geändert habe:
ALT = alte UID
NEU = neue UID
Gruß Outi
Code: Select all
find / -uid ALT -exec chown NEU {} ;
NEU = neue UID
Gruß Outi
:D Gruß Outi :D