Bash skripti

Miten bashilla pystyy kopioimaan kuvat hakemistosta toiseen pienemmässä koossa?

Eli minulla on hakemisto, missä on valokuvat ja pitäisi kopioida ne toiseen paikkaan (sama hakemistorakenne kuin alkuperäisessä paikassa), mutta valokuvien koko pitäisi olla 640x480.

Esim:

Kuvat (päähakemisto)
> Lomakuvat (alihakemisto)
> Työkuvat
> Perhe
> Joulu

Ja ne kopioidaan hakemistoon Webkuvat (missä olisi sama hakemistorakenne kuin Kuvat hakemistossa.

Parasta tietenkin jos bash skripti osaisi tarkistaa, onko pikkukuva jo olemassa, jos ei niin se luodaan, eli skriptilla pystyisi myös päivittämään sisällön, luomatta kaikkia kuvia joka kerta uudestaan. (sillä kuvia on tosi paljon)

Eli hakemistot pidettäisiin synkässä, toisessa hakemistossa isot kuvat ja toisessa pienet. Ja uudet kuvat lisätään tietenkin vain hakemistoon, missä on isot kuvat.
15204
Äänestä

Muut lukivat myös

Vastaukset 15

Vanhimmat

Imagemagicin convertilla pitäis onnistua muuttamaan. Sitten ihan normaalia bash silmukkaa ja tarkistusta onko tiedosto olemassa ja vertailee päiväyksiä.

Äänestä

Tässä jotain jolla pääset alkuun. Pistä polut sun muut oman maun ja tarpeen mukaan. En ota mitään vastuuta jos jotain menee poskelleen. Kehitys varaa varmaan löytyy.

Rivi1: Kopioi "Kuvat" kansiosta uudet kuvat kansioon "Kuvat1".
Rivi2: Tekee kuvista log.txt tiedoston.
Rivi3: Siirtää log.txt tiedoston sisällön muuttujaan FILES.
Rivi4: Suorittaa kuvien koon muuttamisen.

cp -Ru ~/Kuvat ~/Kuvat1
find ~/Kuvat1 -type f -name "*.JPG" > log.txt
FILES=$(cat log.txt)
for FILE in $FILES; do convert $FILE -resize 640x480 $FILE; done

Äänestä
  • Vähän huono, kun puuttuu äly. Parempi olisi jos:

    dir1=./kuvat
    dir2=./thumbnails

    1. Poista vanhat pikkukuvat: Jos dir2 sisältää hakemiston joka puuttuu dir1:sta, niin poista se ja sen sisältö
    2. Luo uudet hakemistot: Jos dir1 sisältää hakemiston, joka puuttuu dir2:sta, niin luo se
    3. Luo uudet thumbnails: Käy läpi kaikki dir1 alihakemistojen tiedostot, tarkista onko samanniminen tiedosto dir2 hakemistossa. Jo on älä tee mitään. Jos ei ole niin luo thumbnail.

    Miten se koodataan en tiedä.

    Äänestä

  • logistiiikkaa kirjoitti:

    Vähän huono, kun puuttuu äly. Parempi olisi jos:

    dir1=./kuvat
    dir2=./thumbnails

    1. Poista vanhat pikkukuvat: Jos dir2 sisältää hakemiston joka puuttuu dir1:sta, niin poista se ja sen sisältö
    2. Luo uudet hakemistot: Jos dir1 sisältää hakemiston, joka puuttuu dir2:sta, niin luo se
    3. Luo uudet thumbnails: Käy läpi kaikki dir1 alihakemistojen tiedostot, tarkista onko samanniminen tiedosto dir2 hakemistossa. Jo on älä tee mitään. Jos ei ole niin luo thumbnail.

    Miten se koodataan en tiedä.

    Valitettavasti yläpito poistaa ohjeen, se tais sitten jäädä tähän. Koita keksiä itse.
    Tein jotakin, ja laitoin tuohon, mutta poistivat sen. Asia ei ratkea ihan parilla rivillä, mikä lie täällä se raja, missä pätkissä voi esimerkkikoodia jakaa.

    Ei mielestäni sisältänyt mitään sääntöjen vastaista. Kuten ei edellinenkään, mutta tuon kuitenkin jättivät, miksiköhän.

    Äänestä

Imagemagicin scriptejä löytyy paljon netistä. Gimppiin löytyy myös plugin tuohon. Nautilukseen ja moneen muuhun tiedostonhallintaan myös. convert osaa kyllä myös terävöinnin ja metadatan poiston. Metadata kannattaa usein poistaa. Kuva voi sisältää kuvankäsittelyohjelman historian, tekijätietoja, väriprofiilin ja tietysti tiedot kamerasta ja kenties sijaintitiedot. Muuten hyviä yritelmiä, mutta pystykuvien käsittely uupuu.

Äänestä
  • Nautiluksen(Tiedostot) hakutoiminto osaa klikkaamalla näyttää "Koko" ja siihen ne mahdolliset duplikaatit ilmestyy rivi riviltä riippumatta tiedostonimestä ;)

    Äänestä

"Muuten hyviä yritelmiä, mutta pystykuvien käsittely uupuu."
Pitäskö minun tuntea siitä syyllisyyttä, kun kysyjä antaa tarkat mitat.

Ja kysyjälle vielä:
Jos sinulla on jokin toinen palvelu kuin tämä Suomi24, niin kerro, voimme jatkaa asian käsittelyä siellä.

Äänestä
  • "Pitäskö minun tuntea siitä syyllisyyttä, kun kysyjä antaa tarkat mitat."
    Ei, mutta convert ei ota muistaakseni huomioon pystykuvia.

    Äänestä

  • Mikko_Tku kirjoitti:

    "Pitäskö minun tuntea siitä syyllisyyttä, kun kysyjä antaa tarkat mitat."
    Ei, mutta convert ei ota muistaakseni huomioon pystykuvia.

    Millä tavalla sen pitäisi muuttaa kuvan koko pystykuvissa. Silloin kun tilanne on sellainen että on mukana molempia, suoritetaan käsky ilman toista mittaa:

    convert c.JPG -resize 640 d.JPG

    jolloin kuvan koko muuttuu annettuun mittaan sidotusti.

    Äänestä

Onpas säätämistä. Photoshopissa on valmiina batch converter. Mikse ette käytä sitä?
EHHEHE! EHHEHE! BUAHHAH!

Äänestä
  • Suomi24 soveltuu yksin omaan juuri tuollaiseen vittuiluun. Jos yrittää auttaa jota kuta, niin ylläpito poistaa ohjeet, mutta ilmeisesti, juuri tämän kaltaiset viestit on sitä minkä kuvan Suomi24 haluaa välittää kansalaisistaan.

    Ja sitten "HAHAHAHAHAHAHAHA"lle
    "batch converter" saattaa olla monessa muussakin ohjelmassa. Mutta mitä siitä nauttii toisen tekemästä. Se että tuntee ja tietää osaavansa silloinkin kun ei joku ole asiaa valmiiksi tehnyt ja saa sen siitä huolimatta tehtyä, on jotain mistä kannattaa olla itseensä tyytyväinen, ei siitä että Photoshopissa on on jotain.

    Äänestä

  • Herneet pois nenästä. Itse olen käyttänyt ja testaillut eri linuxeja ja lopputulema on että siinä ajassa minkä linux vie säätämisessä ja ongelmien selvittelyssä niin Windowsilla ja siihen saatavilla oikeilla ohjelmilla säästää senkin ajan työntekoon tai harrastuksiin. Pyörää ei kannata aina uudelleen keksiä. Jos tykkäät säätämisestä niin mikäs siinä sitten.

    Äänestä

  • hehoh kirjoitti:

    Herneet pois nenästä. Itse olen käyttänyt ja testaillut eri linuxeja ja lopputulema on että siinä ajassa minkä linux vie säätämisessä ja ongelmien selvittelyssä niin Windowsilla ja siihen saatavilla oikeilla ohjelmilla säästää senkin ajan työntekoon tai harrastuksiin. Pyörää ei kannata aina uudelleen keksiä. Jos tykkäät säätämisestä niin mikäs siinä sitten.

    Näinhän se on, minä vaan tykkään siitä että minä itse osaan. En osaa nauttia siitä että Photoshopin kehittäjät osaavat. Jos se vaatii pyörän keksimistä, minä keksin kyllä sen, sitä suurempi syy kulkea rinta rottingilla.

    Äänestä

converter yms. komennolla onnistuu.
Löytyy myös niitä ikkunaohjelmia, jos ei tehokkuus/toistuvuus ole esteenä.

Äänestä

"Onpas säätämistä. Photoshopissa on valmiina batch converter. Mikse ette käytä sitä?"
Photoshop on kallis yksinkertaiseen työhön. Kuten edellä kerroin se onnistuu monellakin
tapaa. Ihan tiedostonhallinnalla. https://forum.kde.org/viewtopic.php?f=83&t=109906

ImageMagicin convert osaa poistaa myös metadatan, lisätä vesileiman, terävöittää, ,,, mitä nyt haluaa. Photoshop taas lisää kuviin metadataa.... Monissa yrityksissä on kielletty monien ohjelmien dokumenttien lähettäminen koska metadatassa voi olla vaikka mitä tietoja.

Äänestä

Ketjusta on poistettu 3 sääntöjenvastaista viestiä.

Kommentoi aloitusta


automatisointia kirjoitti:

Miten bashilla pystyy kopioimaan kuvat hakemistosta toiseen pienemmässä koossa?

Eli minulla on hakemisto, missä on valokuvat ja pitäisi kopioida ne toiseen paikkaan (sama hakemistorakenne kuin alkuperäisessä paikassa), mutta valokuvien koko pitäisi olla 640x480.

Esim:

Kuvat (päähakemisto)
> Lomakuvat (alihakemisto)
> Työkuvat
> Perhe
> Joulu

Ja ne kopioidaan hakemistoon Webkuvat (missä olisi sama hakemistorakenne kuin Kuvat hakemistossa.

Parasta tietenkin jos bash skripti osaisi tarkistaa, onko pikkukuva jo olemassa, jos ei niin se luodaan, eli skriptilla pystyisi myös päivittämään sisällön, luomatta kaikkia kuvia joka kerta uudestaan. (sillä kuvia on tosi paljon)

Eli hakemistot pidettäisiin synkässä, toisessa hakemistossa isot kuvat ja toisessa pienet. Ja uudet kuvat lisätään tietenkin vain hakemistoon, missä on isot kuvat.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu