Alle Dateien in einem Verzeichnis finden II

06/03/2008 - 14:36 von Helmut Schneider | Report spam
Hi,

ich hatte vor làngerem schonmal gefragt, wie man alle Dateien in einem
Verzeichnis finden kann. Damals hab ich die Lösung bekommen:

find $DIR/ -name $NAME -type d -print0 | xargs -0 -IX find X -type f | xargs
chmod 444

Das mag (natürlich) nicht auf OpenBSD funktionieren (auf FreeBSD schon):

[root@www ~]# find /var/www/ -name etc -type d -print0 | xargs -0 -IX find X
find: /var/www/etc /var/www/vhosts/vhost1/etc: No such file or directory
[root@www ~]#

Daher suche ich eine weitere Alternative. Ich schaffe es zwar, mit
find...exec die Dateien zu suchen, aber die Weiterverarbeitung mit chmod
gelingt mir dann nicht mehr:

find $DIR -name $NAME -type d -exec find {} -type f \;

Wie muss denn der Sysntax lauten, oder gibt es gar eine abgeànderte
"xargs -IX find" Methode?

Danke und Gruß, Helmut

No Swen today, my love has gone away
My mailbox stands for lorn, a symbol of the dawn
 

Lesen sie die antworten

#1 Achim Peters
06/03/2008 - 15:10 | Warnen spam
Helmut Schneider schrieb:

ich hatte vor làngerem schonmal gefragt, wie man alle Dateien in einem
Verzeichnis finden kann. Damals hab ich die Lösung bekommen:

find $DIR/ -name $NAME -type d -print0 | xargs -0 -IX find X -type f |
xargs chmod 444

Daher suche ich eine weitere Alternative. Ich schaffe es zwar, mit
find...exec die Dateien zu suchen, aber die Weiterverarbeitung mit chmod
gelingt mir dann nicht mehr:

find $DIR -name $NAME -type d -exec find {} -type f \;



Ich sehe nicht ganz den Zusammenhang zum Subject. Alle Dateien in einem
Verzeichnis (und dessen Subdirectories) zu finden, würde ich erstmal mit
einem find und nicht mit zweien machen, insbesondere, wenn's mit zweien
nicht hinhaut:

find $DIR_NAME -type f -exec chmod $NEW_MODE {} \;

Bye
Achim

Ähnliche fragen