Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: OPGELOST bash probleem met cd commando  (gelezen 1024 keer)

Offline BaukeP

  • Lid
OPGELOST bash probleem met cd commando
« Gepost op: 2012/06/03, 21:21:00 »
Hallo,

Ik heb een heleboel .cbr-bestanden ................. die ik op mijn bestelde ereader niet kan lezen.
Dus moet ik deze bestanden uitpakken en er een pdf van maken. Dat gaat, als ik het per stuk doe prima met de volgende commando's:

find '/mnt/Data/CalibreLibrary/Willy Vandersteen' -iname "*.cbr" | (while read "F"; do echo "$F"; cp "$F" /mnt/Data/tmp/CBR/; done)    #Hiermee copieer ik alle bestanden van Vandersteen naar een aparte CBR dir
dan in /mnt/Data/tmp/CBR alle cbr-bestanden uitpakken:
    in Nautilus alles selecteren en kiezen voor 'Hier uitpakken'
dan bestand aanmaken met alle directories met uitgepakte jpg bestanden:
    ls -1 --indicator-style=none --ignore=*.txt /mnt/Data/tmp/CBR > /mnt/Data/tmp/CBR/Dirs_bestanden.txt
dan alle .JPG bestanden hernoemen naar .jpg (in huidige directory) en omzetten naar .pdf:
    rename s/.JPG/.jpg/ *.JPG && convert *.jpg 0000_file.pdf

Ik heb dan onder /mnt/Data/tmp/CBR een aantal directories met in allemaal een bestand 0000_file.pdf. dat file hernoemen naar de naam van de subdir en klaar is Kees.

In Dirs-bestanden staat:
293 - De Kaperkoters - Willy Vandersteen
44 - Razzia Op Djerba - Willy Vandersteen
70 - De Legende - Willy Vandersteen

Maar er zijn er een heleboel, dus probeer ik er een script van te maken, waarin ik het nieuwe pdf bestand de naam geef van de dir waarin het staat:

while read line; do
    basedir='/mnt/Data/tmp/CBR/'
    cddir="'"$basedir$line"'"
    naam=$line
    echo "basedir: "+$basedir
    echo "cddir: "+$cddir
    echo "naam: "+$naam
    cd $cddir
#    naam=$(echo $line | mawk '{FS="/";OFS="/"}{print $NF}')
#    echo $naam
    rename s/.JPG/.jpg/ *.JPG
    convert *.jpg $naam.pdf   
done < /mnt/Data/tmp/CBR/Dirs_bestanden.txt

Hiermee heb ik de volgende problemen:
cd $cddir werkt niet (bestand of dir bestaat niet (direct vanuit de terminal werkt het wel!))

De eerdere poging met mawk mislukt omdat mawk ondanks de FS en OFS settings splitst op de default spatie ???

Een heel verhaal maar ik hoop dat het zo duidelijk is

Wie weet een oplossing voor mijn problemen?

Alvast bedankt

Bauke

PS Spaties in bestandsnamen omzetten naar _ is geen optie
« Laatst bewerkt op: 2012/06/15, 19:45:23 door BaukeP »

Offline vanadium

  • Lid
Re: bash probleem met cd commando
« Reactie #1 Gepost op: 2012/06/04, 12:13:34 »
Verander eens:
cddir="'"$basedir$line"'"naar
cddir=$basedir$line
en

cd $cddir
naar
cd "$cddir"

Offline BaukeP

  • Lid
Re: bash probleem met cd commando
« Reactie #2 Gepost op: 2012/06/04, 15:11:08 »
@Vanadium, bedankt!

Fantastisch, nu werkt het!
Al begrijp ik het waarom nog niet  :-[

Bauke