Skip to content

Leiame failipuust teatud vanusega failid ning kopeerime mujale

Mõnikord on vaja hiidsuurest failipuust vaja leida mingi vanusega failid ja mujale kopeerida. Linuximaailmas saad seda teha nii:

find . -type f -mtime -60 -exec cp -a --parents -t ~/tmp "{}" \+

Otsitavaid faile ja sihtkausta muuda vastavalt vajadusele. Antud näites " -type f -mtime -60" tähendab et otsi 60 päeva vanu faile (mtime on viimase muutmise aeg) ning "~/tmp" tähendab et tõsta nad kodukaustas tmp alamkausta.

Nimetame fotod ümber EXIF-metainfo alusel

Sul on kaustatäis kaamerast võetud fotosid, mille nimed on mõttetud (img_12345.jpg stiilis), kuid sa tahad et nimi oleks hoopis teemakohane ja sisaldaks pildi tegemise aega. Eeldades et failides on EXIF-metainfo alles, siis Linuxis on see käsurealt tehes imelihtne (punkt lõpus tähistab selle kausta sisu, kus sa asud):

exiftool -d miski-nimi-%Y%m%d-%H%M%S%%-c.%%e "-filename

Kui exiftool arvutis on puudu, siis libimage-exiftool-perl paigaldamine aitab. Antud näite puhul loetakse ajatempel DateTimeOriginal väljalt, kuid kaamerast sõltuvalt võib see puududa ja siis märgi vajalikuks lähteväljaks CreateDate või isegi FileModifyDate.

Eemaldame failist tühjad read ja tühjad realõpud

Erisuguses failipõhises andmetöötluses on tihti vaja failist välja visata tühjad read ja/või asjatud tühikud rea algusest ja lõpust. Kui oled Linuxi kasutaja, siis sed tuleb käsureal appi:

sed 's/^ //; s/ $//; /^$/d' miskifail.txt > miskiuusfail.txt

Lihtne selgitus:

  • miskifail.txt - algne fail
  • miskiuusfail.txt - töödeldud fail
  • `s/^ //` - eemaldame tühikud rea algusest
  • `s/ $//` - eemaldame tühikud rea lõpust
  • `/^$/d` - eemaldame tühjad read