Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

OS Linux

[Fedora] Volledige mapstructuur voorzien van tekstbestand?

None
7 antwoorden
  • LS,

    Ik heb een probleem en dat is als volgt:

    Er is een map genaamd Muziek, die is onderverdeeld in CD-Rips (eigen collectie) en Downloads. Vervolgens bevatten deze twee mappen een grote collectie met muziek. Nu wil ik voor het overzicht deze twee mappen samenvoegen, maar toch kunnen bepalen of het een download of cd-rip is geweest. De makkelijkste manier hiervoor leek me een simpel tekstbestandje genaamd cdrip.txt of download.txt in de desbetreffende mappen.

    De vraag is dan ook: hoe kan ik dit automatiseren? Ik wil dus proberen om in alle submappen van CD-Rips een bestandje te plaatsen genaamd cdrips.txt zonder dit per map handmatig te moeten doen…

    Alle suggesties zijn van harte welkom!

    Groeten,

    Bas.

    Ps. Ik heb dit eerder gevraagd in het Windows forum omdat ik de mappen als netwerkdrives onder Windows gemount heb. Helaas konden ze geen oplossing geven voor mijn probleem. De computer waar de bestanden op staan is een fileserver zonder X draaiende op Redhat Linux Fedora 4.
  • [code:1:5aefcc8147]
    cd Muziek
    mv Downloads/* .
    rmdir Downloads
    cd CD-Rips
    for i in *; do
    mv "$i" ..
    touch "../$i/cdrips.txt"
    done
    cd ..
    rmdir CD-Rips
    [/code:1:5aefcc8147]

    Dit is toch wat je bedoelt? Een leeg bestandje cdrips.txt in de mappen van geripte cd's?

    Veel succes, maar zorg voor backups, als er iets misgaat door een tikfout oid ben je gewaarschuwd ;)
  • Hey Marcel, heel erg bedankt voor je antwoord, dat is idd wat ik bedoel. Ik heb wel nog een vraagje… Ik ben het een en ander aan het testen, maar ik kom er nog niet helemaal uit… Omdat ik het risico niet wil lopen dat het fout gaat had ik bedacht dat ik gewoon eerst alleen in alle directories zo'n bestandje wil plaatsen. Maar omdat de hele directorystructuur als volgt is:

    [i:240e42272e]CD-Rips[/i:240e42272e] -> [i:240e42272e]Artiest[/i:240e42272e] -> [i:240e42272e]Album[/i:240e42272e]

    óf

    [i:240e42272e]Downloads[/i:240e42272e] -> [i:240e42272e]Artiest[/i:240e42272e] -> [i:240e42272e]Album[/i:240e42272e]

    … wil ik graag de tekstbestanden in "Album" hebben staan. Daarvoor heb ik nu 2 dingen geprobeerd die beide jammerlijk gefaald hebben. :D

    Het eerste wat ik probeerde was een geneste loop, maar dat ging mis, achteraf waarschijnlijk omdat de done niet genest kan worden ofzo?[code:1:240e42272e]for i in *; do
    touch "$i/firstloop.txt"
    cd "$i"
    for j in *; do
    touch "$j/secondloop.txt"
    done
    cd ..
    done[/code:1:240e42272e]De tweede poging was het geheel opsplitsen in 2 bestanden, maar dan lijkt hij niet meer terug te keren naar het originele bestand: ./firstloop[code:1:240e42272e]for i in *; do
    cp ./basmaketxtfile "$i"
    touch "$i/firstloop.txt"
    cd "$i"
    ./basmaketxtfile
    cd ..
    done [/code:1:240e42272e]en ./basmaketxtfile[code:1:240e42272e]for j in *; do
    touch "$j/secondloop.txt"
    done[/code:1:240e42272e]Heb je misschien nog wat aanwijzingen hoe ik dit het beste kan aanpakken?

    - Bas
  • Ik heb zelf ook veel mp3's en de mappen structuuris vrij ondoorzichtig. Ik gebruik het gratis programma TAGSCANNER om de mp3's van labels te voorzien. Je kunt bijvoorbeeld in de mp3 tag opnemen dat ze geripped zijn van je eigen cd's. TAGSCANNER kan dat met een heleboel mp3's tegelijk inclusief subdirs enzovoort. Bovendien kan tagscanner ook van groepen mp3's de bestandsnamen hernoemen.
  • Naar dat Tagscanner zal ik zeer zeker even kijken, met name het in groepen hernoemen en aanpassen van tags lijkt me bijzonder handig. Echter, ik wil kunnen zien of iets een cd-rip is of niet zónder het bestand te hoeven openen (en evt allerlei extra handelingen te moeten verrichten). Vandaar mijn aanpak.

    En gelijk goed nieuws op dat gebied: het is gelukt! De test iig… Straks horen jullie hoe alles is gelopen. :)[code:1:4cd34c3751]for i in *; do
    if [ -d "$i" ]
    then
    cd "$i"
    for j in *; do
    if [ -d "$j" ]
    then
    echo "$i/$j"
    touch "$j/Testerdietest.txt"
    fi
    done
    cd ..
    fi
    done[/code:1:4cd34c3751]- Bas
  • Het is allemaal gelukt! Marcel, heel erg bedankt dat je me op het goede spoor hebt weten te zetten!

    - Bas
  • Graag gedaan, mooie oplossing!

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.