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.
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.
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!
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 :)
Käytä multimovea >mmv