Hilfe mit Symbolischem Link

Hallo
Ich hoffe ihr könnt mir helfen.
ich wollte eine Suchanfrage bauen inder alle Ordner mit nem bestimmten Namen gefunden werden.
Also find ./ -iname „*bla*“ -type d

Soweit so gut.
Jetzt möchte ich aber von jedem Überordner nen Symbolischen Link in einem anderen Ordner erstellen.

Also /blub/bli/bla

/bla gefunden

bli soll als symbloischer link im Homeverzeichniss auftauchen. Also /home/User/bli

ich dachte das würde gehen wenn ich schreibe
find ./ -iname „*bla*“ -type d -exec ln „{}/…“ /home/User ;

nur leider kann ln nicht ln /blub/bli/bla/… /home/User verarbeiten.

Hat jemand ne Idee?

Ich hoffe ich hab mich klar ausgedrückt.

Gruß

Hi,

Also find ./ -iname „*bla*“ -type d

Jetzt möchte ich aber von jedem Überordner nen Symbolischen
Link in einem anderen Ordner erstellen.

ich dachte das würde gehen wenn ich schreibe
find ./ -iname „*bla*“ -type d -exec ln „{}/…“ /home/User ;

Also, erstmal erstellst Du damit ja einen hardlink, und das auch noch auf ein Verzeichnis. Ich kenn eigentlich nur *ganz* wenig Faelle, in denen das Sinn macht. Nein, falsch: ich kenne eigentlich gar keinen.

nur leider kann ln nicht ln /blub/bli/bla/… /home/User
verarbeiten.

ln kann das schon verarbeiten, es verarbeitet das sogar fuer Dich sehr guenstig. Es weigert sich aber, ein Verzeichnis zu entfernen, um den link anzulegen. In dem Verzeichnis gibt es ja schon einen Eintrag ‚…‘.

Hat jemand ne Idee?

So auf die Schnelle, wenn’s nicht besonders huebsch und sauber sein muss:

 % find "$PWD/" -iname '\*bla\*' -type d -print |while read dir; do cd "$dir/.." && ln -s "`pwd`" /home/User/; done

So ungefaehr. Aendert haesslicherweise das cwd (koennte man mit pushd/popd ausbessern), funktioniert nicht mit Zeilenumbruechen in den gefundenen Verzeichnissen und duerfte fuer viele Treffer auch nicht besonders flott sein.

Ich hoffe ich hab mich klar ausgedrückt.

Geht so.

HTH,
Gruss vom Frank.