[sun] hoe massa symlinks te wijzigen?

Pagina: 1
Acties:

  • FvH
  • Registratie: Oktober 2001
  • Laatst online: 07-01-2025

FvH

Aan het typen...

Topicstarter
Ik heb ongeveer 400 symlinks (files! geen dirs) in /home/username/dir1, /home/username/dir2, etc staan naar een path:

/view/user1/cc/blaat etc.

Nu moet /view/user1/ gewijzigd worden naar /view/user2. Dus alle symlinks in de home dir moeten naar de user2 dir wijzen ipv user1 dir zoals nu het geval is.

Omdat niet alle files gelinkt zijn kan ik geen directories linken.

Hoe dit te wijzigen... ik voel er weinig voor om met de hand +/- 400 nieuwe links aan te moeten maken...

What are clouds made of? Linux servers mostly!


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • TheBorg
  • Registratie: November 2002
  • Laatst online: 08-02 20:39

TheBorg

Resistance is futile.

Wat ik in deze situaties doe is de lijst plakken in Excel (desnoods over meerdere kollommen), dan kun je lekker search/replacen, automatisch nummeren, etc. Daarna de meuk in kladblok plakken en er een shell script of whatever van maken. :P

  • FvH
  • Registratie: Oktober 2001
  • Laatst online: 07-01-2025

FvH

Aan het typen...

Topicstarter
ok... maar het zijn dus iets meer dirs dan 2... (400 symlinks in ongeveer 300 dirs)... zelfs met knippen plakken is het een hels karwei...

2 Admin: sorry!!

Ideetje?: met perl een scriptje maken dat iets doet als:
code:
1
2
3
4
foreach directory ( `ls` )
{
    ...
}

[ Voor 35% gewijzigd door FvH op 27-10-2005 17:59 ]

What are clouds made of? Linux servers mostly!


  • Thekk
  • Registratie: Augustus 2002
  • Laatst online: 09-02 13:01
Ik doe maar een gooi: kan je niet een find op symlinks doen? En vervolgens met de resultaten van deze find de locatie wijzigen?

Ik heb geen zin om een sig te maken.


  • Zwerver
  • Registratie: Februari 2001
  • Niet online
Wat denk je van een beetje scripten?

code:
1
2
3
4
5
6
7
8
#!/bin/bash
  badnames=`ls | grep <symlinkmeuk>`
  for x in $badnames
  do
    rm $x
    new=<nieuwenaamvansymlinkmeuk>
    ln -s bladiebladiebla $new
  done


Is het eerste wat me zo te binnen schiet na 2 seconden denken

of idd met find en -exec aan de gang gaan kan natuurlijk ook :P

[ Voor 31% gewijzigd door Zwerver op 27-10-2005 18:03 ]

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


  • TheBorg
  • Registratie: November 2002
  • Laatst online: 08-02 20:39

TheBorg

Resistance is futile.

find -type l -ls

  • Pwigle
  • Registratie: December 2000
  • Laatst online: 02-02 19:50
Kan je inderdaad prima met een bash scriptje, dit is misschien een beginnetje:

code:
1
2
#!/bin/bash
for d in *; do cd $d & ln /view/user2/; done

  • FvH
  • Registratie: Oktober 2001
  • Laatst online: 07-01-2025

FvH

Aan het typen...

Topicstarter
Ik heb even wat zitten scripten met echo's ipv werkelijke commands (voor rm enzo :P)

blijkt toch niet zo lekker te werken hoor op deze manier.... ik zal eens wat proberen met find -exec, hopelijk gaat dat beter.

What are clouds made of? Linux servers mostly!


  • FvH
  • Registratie: Oktober 2001
  • Laatst online: 07-01-2025

FvH

Aan het typen...

Topicstarter
Probleem is dat de naam wat wijzigd de lokatie is waar ik naar wijs. Dus met find -type l zie ik die niet.

Edit: ok... dom. -ls vergeten :P

[ Voor 15% gewijzigd door FvH op 27-10-2005 18:11 ]

What are clouds made of? Linux servers mostly!


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
DaPoztMaster schreef op donderdag 27 oktober 2005 @ 18:08:
Kan je inderdaad prima met een bash scriptje, dit is misschien een beginnetje:

code:
1
2
#!/bin/bash
for d in *; do cd $d & ln /view/user2/; done
Dit faalt gelijk al bij de 2e iteratie, omdat ie dan naar een subdirectory van de eerste waarde wil gaan, en hij maakt normale links ipv symlinks.

Voor de rest zou het wel nuttig zijn als de topicstarter eens vertelt wat er allemaal beschikbaar is, "sun" is namelijk niet een stuk software of shell bij mijn weten :)
Welke versie van solaris? Welke shell? Welke andere shells zijn er aanwezig? Is er toevallig een gnu-toolchain (met gnu findutils) geinstalleerd? Dit is namelijk niet echt OS-specifiek, maar de eenvoud en lengte van de oplossing hangen nogal af van de aanwezige userland-tools :)

[ Voor 9% gewijzigd door blaataaps op 27-10-2005 18:15 ]


  • FvH
  • Registratie: Oktober 2001
  • Laatst online: 07-01-2025

FvH

Aan het typen...

Topicstarter
ok, dit command geeft me iig de lokatie waar het nu naar verwijst:

find . -type l -ls | grep /view/user1 | awk '{print $14}'

en deze de filename
find . -type l -ls | grep /view/user1 | awk '{print $12}'

hoe zou ik nu de "rm" en "ln -s ..." kunnen uitvoeren?

What are clouds made of? Linux servers mostly!


  • FvH
  • Registratie: Oktober 2001
  • Laatst online: 07-01-2025

FvH

Aan het typen...

Topicstarter
blaataaps schreef op donderdag 27 oktober 2005 @ 18:12:
[...]

Dit faalt gelijk al bij de 2e iteratie, omdat ie dan naar een subdirectory van de eerste waarde wil gaan, en hij maakt normale links ipv symlinks.

Voor de rest zou het wel nuttig zijn als de topicstarter eens vertelt wat er allemaal beschikbaar is, "sun" is namelijk niet een stuk software of shell bij mijn weten :)
Welke versie van solaris? Welke shell? Welke andere shells zijn er aanwezig? Is er toevallig een gnu-toolchain (met gnu findutils) geinstalleerd? Dit is namelijk niet echt OS-specifiek, maar de eenvoud en lengte van de oplossing hangen nogal af van de aanwezige userland-tools :)
Sun Solaris 5.6,
Shell: TCSH. SH is ook aanwezig.
Geen extra tools. Alleen standaard SUN spul. Installeren is geen optie ivm rechten.

What are clouds made of? Linux servers mostly!


  • FvH
  • Registratie: Oktober 2001
  • Laatst online: 07-01-2025

FvH

Aan het typen...

Topicstarter
ok. Ik heb met een temp-filetje en awk de handel kunnen fixen :) Thanks voor de hulp. De bash examples hebben me iig goed op weg gezet!!

What are clouds made of? Linux servers mostly!


  • Zwerver
  • Registratie: Februari 2001
  • Niet online
Als je echt een mooi einde aan dit topic wil maken, geef dan even de oplossing (dus incl. het scriptje/de commando's)

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer

Pagina: 1