1) Miten saadaan poistettua tietyn tyyppisiä tiedostoja useasta eri hakemistosta?
Esimerkiksi on seuraavanlaiset hakemistot (alla). Hakemistot sisältävät monia eri tiedostyyppiä:( *.png *.jpg *.mpg *.txt *.gz) Tarkoitus on poistaa kaikki muut paitsi *.png *.jpg *.mpg tiedostot. Manuaalinen poisto on liian hidasta, koska hakemistoja on useita.
Tarvitaanko tähän bash-skirptiä vai onnistuisiko myös Midnight Commanderilla?
esimerkki hakemistot:
~/sandbox/a
~/sandbox/b
~/sandbox/c
Tähän ei tarvita scriptiä, vaan komento riittää (paitsi jos haluat toistaa operaation usein, jolloin tietenkin teet siitä scriptin).
Ensin katson että saat kaikki poistettavat tiedostot kiinni find-komennolla:
find ~/sandbox -name '*.txt' -o -name '*.gz'
ja sitten piiputat luettelon komennolle joka tuhoaa tiedostot:
find ~/sandbox -name '*.txt' -o -name '*.gz' | xargs rm -i
Tuo rm -i kysyy luvan joka tiedoston tuhoamiseen erikseen. Jos et tarvitse sitä, jätä -i pois.
Kakkoskysymykseen löytynee myskin vastaus find-komennon manuaalista.