Dossin BAT tiedosto sh scriptiksi

Discussion in 'Linux -keskustelu' started by chivalera, Dec 5, 2007.

  1. chivalera

    chivalera Member

    Joined:
    Feb 12, 2007
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    11
    Auttakaapas joku aloittelijaa. Miten saan tämän komentojonon muutettu vastaamaan linukan shell scriptiä

    echo off

    @echo COPY

    for /r %%a in (.) do (

    @echo %%~na

    cd "%%a"

    if not exist song.ogg copy guitar.ogg song.ogg

    )

    cd..

    @echo END COPY

    eli siis tuohan tarkistaa kaikki alihakemistot ja jos siellä ei ole song.ogg tiedostoa kopioidaan guitar.ogg tiedosto song.ogg:iksi. Omat taidot taidot loppu siihen että pitäisi tarkistaa ensin onko song.ogg tiedostoa olemassa.
    Kiitokset etukäteen jos joku vaivautuu.
     
  2. Bluekkis

    Bluekkis Active member

    Joined:
    Aug 4, 2003
    Messages:
    2,235
    Likes Received:
    0
    Trophy Points:
    66
    Eli siis guitar.ogg on aina siinä kansiossa mihin song.ogg halutaan vai löytyykö se juuresta tai muualta? No jokatapauksessa omat bash taidot on ruosteessa mutta koitetaanpa.

    #!/bin/bash

    ALL_SUB_DIRS=`find . -type d`
    EXEC_DIR=`pwd`

    for dir in $ALL_SUB_DIRS
    do
    cd $dir
    if [[ ! -f song.ogg ]]
    then
    cp guitar.ogg song.ogg
    fi
    cd $EXEC_DIR
    done


    Ei mitään hajua että toimiiko edes mutta toivonmukaan auttaa edes jonkiverran.
     
    Last edited: Dec 5, 2007
  3. chivalera

    chivalera Member

    Joined:
    Feb 12, 2007
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    11
    Kiitokset kovasti, pääsin tuolla hyvään alkuun. En ole aikasemmin tehnyt mitään bash scriptiä ja tuosta ja parista sivusta oli apua
    loppukädessä selviydyin tällä:
    find . -type d | grep -e "[:alnum:]" | while read i ; do d=`echo -n "$i"`; if [[ ! -f "$d"/song.ogg ]]; then cp "$d"/guitar.ogg "$d"/song.ogg | echo Working at $d; else echo Already found from $d; fi; done

    eikä välitä vaikka olisi valilyöntejä hakemiston nimessä. Jos jotakuta muuta FretsOnFire harrastajaa vaivaa sama ongelma linukassa, eli hakemistoissa on vain guitar.ogg tiedostot eli musiikki loppuu kokonaan jos soittaa väärin, niin tämä korjaa.
     

Share This Page