Wildcards

Iltaa.

Ei näytä olevan ihan läpihuutojuttu tuo liinuxin wildcardien käyttö. Tilanne on se, että hakemiston kaikki jpg-kuvien pääte (.jpg) tulisi saada ISOIN kirjaimin, eli .JPG. Dos-pohjalta heittäisin helposti 'rename *.jpg *.JPG', mutta ei vaan uppoa se miten mv-komennolla (debian) linuxissa homma hoituu.

Menja savut Kakko. Oizet brijatno.
4351
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

for i in *.jpg;do mv $i `basename $i jpg`JPG;done

Siis ihan tismalleen noin (pistä vaikka leikkaa ja liitä)

Joo...Wanha kunnon DOS :)

Jotkut jutut hoitui tosiaan paremmin.

Ja kuten aina lisää ohjeita saa kun näpyttää:
man mv
man basename

Happy hacking!

Äänestä
  • Kiitos vastauksesta vanha pieru,

    mutta ei se mokoma ota toimiakseen ihan noinkaan. Koetin kaivella kovasti 'man'-opastuksen sekä googlen avulla mahdollisia täkyjä, mutta laiha on lohtu toistaiseksi.

    Ongelmahan on se, että x-käyttikset eivät käytä tiedostopäätettä kuten Windows, joten päätettä edeltävä piste on merkki muun seassa. Nyt pitäisi siis jokeltaa pätkä joka pystyy esmes lukemaan tiedostonimen kolme viimeistä merkkiä joillain eksakteilla villikorteilla ja samma på här muuttaa ne samaiset kolme viimeistä merkkiä haluamaksi.

    Tuota teikäläisen ehdotustasi katsomalla viimeistään tuli hokattua miten paljon joustavuutta *nix antaa, joskin perehtymistä järjestelmä vaatii.

    Muille threadia lukeville kaltaisilleni n00b-jauhoille voisin heittää mainion linkin josta löytyy melkoisen mielenkiintoista materiaalia. Ehkei ihan asiaan liittyen, mutta shell-komennoista ja sen mahdollistamasta soveltuvuudesta.

    http://www.uta.fi/~jm58660/100vinkkia.html

    Äänestä

  • Kakko kirjoitti:

    Kiitos vastauksesta vanha pieru,

    mutta ei se mokoma ota toimiakseen ihan noinkaan. Koetin kaivella kovasti 'man'-opastuksen sekä googlen avulla mahdollisia täkyjä, mutta laiha on lohtu toistaiseksi.

    Ongelmahan on se, että x-käyttikset eivät käytä tiedostopäätettä kuten Windows, joten päätettä edeltävä piste on merkki muun seassa. Nyt pitäisi siis jokeltaa pätkä joka pystyy esmes lukemaan tiedostonimen kolme viimeistä merkkiä joillain eksakteilla villikorteilla ja samma på här muuttaa ne samaiset kolme viimeistä merkkiä haluamaksi.

    Tuota teikäläisen ehdotustasi katsomalla viimeistään tuli hokattua miten paljon joustavuutta *nix antaa, joskin perehtymistä järjestelmä vaatii.

    Muille threadia lukeville kaltaisilleni n00b-jauhoille voisin heittää mainion linkin josta löytyy melkoisen mielenkiintoista materiaalia. Ehkei ihan asiaan liittyen, mutta shell-komennoista ja sen mahdollistamasta soveltuvuudesta.

    http://www.uta.fi/~jm58660/100vinkkia.html

    Nimittäin seuraava kehittämäni:

    for i in `find . -name "*" -type f`;do md5sum $i >> MD5.SUM;done

    Mitäs tuo sitten tekee ?
    No ei sen kummempaa kuin laskee MD5-hashit KAIKILLE kovalevysi (tai halutessasi rajatuille) tiedostoille :)

    Päädyin tuohon koska md5sum komento kun ei ole rekursiivinen niin meinasin jo
    alkaa koodaamaan omat rutiinit kunnes tajusin
    että helvetti, miksi tehdä niin vaikeasti koska Bash itsessään antaa helpomman tien.

    Aina kun suljen koneen niin Linux suorittaa ennen sulkemista tekemäni "save_all" scriptin jossa on muuten tuo sama komento paitsi että tulos tallennetaa uniikkiin backup-tiedostoon jonka nimi generoidaan etukäteen päätetyllä suffixilla päiväys kellonaika.

    Sitten kun seuraavan kerran käynnistän koneen niin Linux ajaa tekemäni "check_all" nimisen scriptin jossa on komento:
    md5sum -c MD5.SUM

    Eli tarkistaa kaikki listassa mainitut MD5-hashit.

    Näen heti jos joku script-kiddie on temmeltänyt tai jos jotain muuta ihmeellistä on tapahtunut sitten viime istunnon :)

    Jos joskus täytyy päivittää "tietokanta" niin suoritan "update_all" scriptin jossa siis korvataan tuo MD5.SUM tiedosto.
    (Niin, ja sanomattakin on selvää että vain rootilla on oikeudet noihin kolmeen scriptiin...)


    Tässä elävä esimerkki jossa viime kerralla muutin yhtä tiedostoa ennen koneen sammutusta:
    /lib/wsnmp32.def: OK
    ./lib/wsock32.def: OK
    ./lib/wst.def: OK
    ./lib/Makefile: EI TÄSMÄÄ
    ./Makefile.in: OK
    ./README.w32api: OK
    ./TODO: OK
    ./config.log: OK
    ./config.status: OK
    ./Makefile: OK
    md5sum: VAROITUS: 1 tarkistussummaa 433 tarkistetusta EI täsmännyt

    Tietysti noita rivejä tulee niin paljon kun levylläsi on tavaraa joten kannattaa rajoittaa skannaus vain tärkeisiin hakemistoihin.
    Suosittelen lämpimästi ainakin näitä:
    /bin
    /lib
    /etc
    /sbin
    /usr/bin
    /usr/lib
    /usr/sbin

    Kyllä se siitä...
    Jatka vain opiskelua!


    PS:
    Yksi syy miksi Torvals alunperin suunnitteli Linuxin oli se että hän oli lopen kyllästynyt DOS:in aivokuolleeseen tapaan hoitaa asioita :)

    Äänestä

Käytä multimovea >mmv

Äänestä

Kommentoi aloitusta


Kakko kirjoitti:

Iltaa.

Ei näytä olevan ihan läpihuutojuttu tuo liinuxin wildcardien käyttö. Tilanne on se, että hakemiston kaikki jpg-kuvien pääte (.jpg) tulisi saada ISOIN kirjaimin, eli .JPG. Dos-pohjalta heittäisin helposti 'rename *.jpg *.JPG', mutta ei vaan uppoa se miten mv-komennolla (debian) linuxissa homma hoituu.

Menja savut Kakko. Oizet brijatno.

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