Symbolische Links von gesamten Verzeichnisinhalt erzeugen

  • Hallo,


    ich habe meine alten vdr Aufzeichungen in video2 liegen und möchte jetzt in video1 symbolische Links auf die Dateien in video2 erzeugen. Da dort einige Aufnahmen liegen möchte ich das ungern per Hand machen. Meine Idee mit find klappt leider nicht, da basename in `` scheinbar nicht funktioniert:

    Code
    find /vdr/video2/ -type d -maxdepth 1 -exec ln -s {} `basename {}` \;


    Hat jemand nen Vorschlag wie ich das sonst noch anstellen könnte?


    Danke schonmal,
    Floh

  • Hi,


    versuch mal "cp -l" ...


    Solemn

    Client: Silverstone LaScala LC17 -- MSI 945PL Neo3 -- Core2 Duo E4400 -- 2GB RAM -- Zotac GeForce GT 220 Zone Edition -- Harmony 650 -- OpenELEC 3.0.6
    Server: Gigabyte 970A-UD3 -- AMD Phenom II X4 955 -- 6GB RAM -- TT1600-S2 -- DVBSKy S952 Dual DVB-S/S2

    VG system: md-raid 2x160GB RAID1

    VG data: md-raid 6x1TB RAID5

    Ubuntu Server 13.04 -- yaVDR unstable -- xvdr

  • Hallo!


    Ich mach bei sowas lieber


    cd /video1 ; for i in `ls -1 /video2/`; do echo Datei $i wird bearbeitet; ln -fs /video2/$i $i ; done


    Da kann ich mir dann mit einem "schönen" Text was mitprotokollieren.


    Besten Gruß
    DerFux

    HW: K7S41 im Micro-ATX, Athlon XP 1900@1000, 370 GB HDD, SkyStar 2 und DXR3 , Harmony 525, IR-Einschalter Rev 4., Teufel Concept E Magnum, ICE-TFT
    SW: LinVDR 0.7, vdr-1.4.0, tarandor libs, Dr- Seltsam Kernel 2.6.15, linvdr-dxr3v8, ...

  • ich habe das mal bei mir ausprobiert. Das funktioniert hervorragend.
    /edit Entschuldigung habe nicht richtig geschaut, geht doch nicht /edit
    /edit2


    probier mal das hier

    Code
    find  /vdr/video2/ -type d -maxdepth 1 -exec ln -s {} \; -exec /bin/basename {} \;


    das hat jedenfalls bei mir wirklich funktioniert.


    /edit2
    Gruss Sven

    VDR1 : PIII - 550 Mhz - 256MB - 160 GB + 250 GB - DVD Brenner - 2 * DVB-S Budget - DXR3 - Etch + e-tobi
    VDR2 : PII - 233 Mhz - 256MB - diskless - DXR3 - c't VDR5 + e-tobi
    VDR3 : S100 - zendeb

    3 Mal editiert, zuletzt von svkn ()

  • Mal so auf die Schnelle:


    Die einfachste Möglichkeit ist wahrscheinlich, alle Aufnahmen auf /video2 in ein Unterverzeichnis Alte_Aufnahmen zu verschieben, und dann einfach einen Link

    Code
    ln -s /video2/Alte_Aufnahmen /video1

    zu setzen.


    Wenn man wirklich alle Dateien (und nicht Verzeichnisse wie in den anderen Beiträgen) einzeln verlinken will, dann muss man sich wohl durchhangeln:

    Code
    cd /video2
    for D in `find * -type d -name \*.rec`
    do 
      echo "Verzeichnis $D"
      mkdir -p /video1/$D
      ln -s $D/* /video1/$D
    done

    Vorsicht: Ungetestet außem Kopp!


    Wobei ich nicht versteht, warum Deine Verzeichnisse /video1 und /video2 und nicht /video0 und /video1 heißen, aber egal.


    Gruß,
    Armin

    VDR
    ASUS A7N8X-X, AMD 2600+, 2 GB, 320 GB HD, Hauppauge DVB-S 1.3, Hauppauge Nova-S-Plus, Funktastatur
    Debian 4.0/Etch-Kernel 2.6.18-5-486
    c't-VDR 6.1 mit e-tobi 1.6.0 (neu gepatched ohne sortrecordings), acpi, vdradmin-am, burn, osdteletext, ffnetdev, audiorecorder, infosatepg, ...
    Client
    dbox2 (Sagem 2xI_C) mit Neutrino-Derivat

  • Hm wieso eigentlich immer find ?
    Ist im /video2 noch was anderes , als Aufnahmen ?
    Wenn nich :


    cd /video2
    ls > /folder2
    while read folder
    do
    ln -s /video2/$folder /video1/$folder
    done</folder2


    HJS


    Edit schnell noch n "$" nachgeworfen :rolleyes: Edit

    Working VDR : VDR-1.4.6 - ACPI/NVRAM Wakeup - working on hjslfs

    Einmal editiert, zuletzt von hjs ()

  • Zitat

    Original von hjs
    Hm wieso eigentlich immer find ?


    • Weil die Frage war, wie ich Dateien und nicht Verzeichnisse verlinke?
    • Weil es Unter-Unter-Verzeichnisse gegeben kann?

    Ganz klar: Je nach Anforderung gibt es Lösungen mit und ohne find. Ich hatte die Frage so verstanden, dass ein find notwendig ist. Ich persönlich würde halt mit den Links das Verhalten vom VDR imitieren wollen, wenn man das Beseite schiebt, kann man es auch anders machen.


    Bis demnächst,
    Armin

    VDR
    ASUS A7N8X-X, AMD 2600+, 2 GB, 320 GB HD, Hauppauge DVB-S 1.3, Hauppauge Nova-S-Plus, Funktastatur
    Debian 4.0/Etch-Kernel 2.6.18-5-486
    c't-VDR 6.1 mit e-tobi 1.6.0 (neu gepatched ohne sortrecordings), acpi, vdradmin-am, burn, osdteletext, ffnetdev, audiorecorder, infosatepg, ...
    Client
    dbox2 (Sagem 2xI_C) mit Neutrino-Derivat

  • Zitat

    Original von ark
    Weil die Frage war, wie ich Dateien und nicht Verzeichnisse verlinke?


    Denskt du , ln interessiert es , was verlinkt wird ?


    Zitat


    Weil es Unter-Unter-Verzeichnisse gegeben kann?


    Und ich komme nicht via Link auf /mal_testen auf /hab/ich/nich/verstanden , wenn der Link auf /hab verweist ?


    Interessant ...


    HJS

  • Hi hjs,


    nein, ich denke nicht, dass es ln interessiert, was es verlinkt und mir ist auch klar, dass es für einen einfachen Zugriff reicht, auf die Master-Verzeichnisse zu verlinken - habe ich ja auch, wie Du siehst, als einfachste Möglichkeit oben angegeben.


    Wenn man jedoch so verlinken will, wie VDR das macht, dann kommt man um find nicht herum. Und um nicht mehr und nicht weniger ging es mir. Wenn Du die Verzeichnisse lieber anders verlinkst, auch gut.


    Gruß,
    Armin

    VDR
    ASUS A7N8X-X, AMD 2600+, 2 GB, 320 GB HD, Hauppauge DVB-S 1.3, Hauppauge Nova-S-Plus, Funktastatur
    Debian 4.0/Etch-Kernel 2.6.18-5-486
    c't-VDR 6.1 mit e-tobi 1.6.0 (neu gepatched ohne sortrecordings), acpi, vdradmin-am, burn, osdteletext, ffnetdev, audiorecorder, infosatepg, ...
    Client
    dbox2 (Sagem 2xI_C) mit Neutrino-Derivat

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!