Eli mulla olis sellainen ongelma että koitan laatia skriptiä joka tekee listauksen tiedostoista tietyssä hakemistossa ja syöttää tiedostojen nimet md5sum ohjelmalle (tosin tätä osuutta en keksinyt itse vaan sain täältä ohjeita, kiitos siitä) ja tulostaa tiedostolistauksen md5summineen tiedostoon mutta md5summa-tiedoston nimeksi pitäisi tulla aina kunkin päivämäärän mukainen eli esim. omat_tiedostot_24042009.md5
No tuo alkuosa eli tiedostolistaus ja sen syöttö md5sum:lle menee siis näin:
find ./ -type f -name "*.*"|xargs md5sum
ja sen omat_tiedostot_24042009.md5 nimen pystyn generoimaan date-komennon avulla näin:
date omat_tiedostot_%d%m%Y.md5
ja tuo siis tulostaa tällaisen tekstin:
omat_tiedostot_24042009.md5
Mutta...nyt tulee se ongelma jota en osaa ratkaista, elikkä miten kytken tuon koko komentosarjan niin että tuo koko tulostus tapahtuisi automaattisesti tuohon date-komennon nimeämään tiedostoon?
Siis jos tulostan tuon date:n näin:
date omat_tiedostot_%d%m%Y.md5 >/tmp/temp.txt
niin miten piiputan tuon temp.txt tiedoston niin että md5sum ohjelma tulostaa nuo md5summat tuohon omat_tiedostot_24042009.md5 nimiseen tiedostoon?
Varmaan oli aika sekava selostus mutta toivottavasti saitte tolkkua.
Olen nimittäin koittanut < ja | merkkejä joita yleensä käytetäänkin piiputtamisessa, sekä olen koittanut echo ja cat komentoa vaan ei auta. Tulee erilaisia virheilmoituksia mm. hakemistoa ei ole tms.
Komentorivin piping
ongelma...
2247
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 2
Vanhimmat
tee vaikka "mdviis.sh" tiedosto johon pastetat seuraavan: #/!bin/bash PV=$(date +"%d%m%y") FF="omat_tiedostot_$PV.md5" find ./ -type f -name "*.*"|xargs md5sum > $FF
Toimii! Thank you! :)