Kirjoittaja Aihe: fileage --- valitse tiedostoja iän perusteella  (Luettu 2430 kertaa)

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Muistatko mitä tiedostoja käsittelit 5 viikkoa sitten ?  Tai haluaisitko siirtää vaikkapa 6 kk vanhemmat tiedostot jonnekin ?

Kirjoittelin helppokäyttöisen "seulan" joka valitsee vain tietyn ikäiset tiedostot. Nimeksi tuli "FileAge" (mistä lienee tullut...). Paketoin sen ".deb" -paketiksi:

http://www.homelinuxpc.com/download/fileage_1.1-1_all.deb

Tuo seula toimii joko yksin kun antaa polun josta tiedostoja etsitään tai sille voi myös putkittaa vaikka "find" ohjelmasta, lukee vakiosyötteestä jos polun kohdalle antaa "-" -merkin.  Se osaa etsiä operaattoreilla >, <, <=, >=, =, == ja ajan voi antaa yksiköissä s, mi, h, d, w, mo, y.

Operaattori "=" olisi käyttökelvoton sellaisenaan liian tarkkana (aika lasketan sisäisesti aina sekunteina) joten tein asian toimimaan likimääräishaulla niin että:

=    vastaa +-30 % tarkkuutta
==  vastaa +- 10 % tarkkuutta

jolloin hakuhaarukka tuntui käyttökelpoiselta.   Syntaksi:


Koodia: [Valitse]
fileage  <polku>  <'sääntö'>  [ 'komento  "$filename"' ]

Jos komento (eli 3. parametri) puuttuu niin tiedostojen nimet listataan. Kovat lainaukset säännön ympärillä ja komennon ympärillä ovat pakolliset.  Sen lisäksi tuo "$filename" pitää olla pehmeissä lainauksissa eli tavallisissa lainausmerkeissä.


Käyttöesimerkkejä:

Koodia: [Valitse]
fileage   /home/matti   '> 2 days'
Koodia: [Valitse]
fileage  /home/maija   '= 5 weeks'
Koodia: [Valitse]
fileage  /home/matti  '>6 months'   'mv "$filename"  /mnt/usbdisk/backup'
Koodia: [Valitse]
find . -maxdepth 1 -type f  | fileage  -   '= 1 d'

Putkitettu syöte voi tulla mistä hyvänsä ohjelmasta jos se antaa polun tiedostonimen eteen, muuten haku ei ole mahdollista.  "find" sopii hyvin,  "ls" ei anna polkua mukaan jolloin se toimii vain kun ollaan kyseisessä hakemistossa.

Tuolle lienee käyttöä jos pitää iän perusteella käsitellä tiedostoja.  Lisätietoja löytyy tavalliseen tapaan kun antaa asennuksen jälkeen päätteessä:

Koodia: [Valitse]
man  fileage
« Viimeksi muokattu: 20.11.14 - klo:19.19 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

petteriIII

  • Käyttäjä
  • Viestejä: 657
    • Profiili
Vs: fileage --- valitse tiedostoja iän perusteella
« Vastaus #1 : 21.11.14 - klo:15.20 »
Kivasti tuntuu toimivan. Onhan tämmöisissä kamalan iso homma, ei taida kaikki tajuta. Mutta eikö tunnu hyvältä kun saa valmiiksi ?
Tattista.
 

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11433
    • Profiili
    • Tomin kotisivut
Vs: fileage --- valitse tiedostoja iän perusteella
« Vastaus #2 : 21.11.14 - klo:15.23 »
Voisiko tuota saada myös vaikka sellaisenaan .tar.gz:na tai vastaavaa, kun kaikki jakelut ei käytä deb-paketteja ja toisaalta ei ole tarve asentaa koko järjestelmään. Tietysti voihan sen tuolta deb:istä purkaa.
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: fileage --- valitse tiedostoja iän perusteella
« Vastaus #3 : 21.11.14 - klo:19.15 »
Lainaus
Tietysti voihan sen tuolta deb:istä purkaa.


Koodia: [Valitse]
ar -x fileage_1.1-1_all.deb
ja tuloksena on:

control.tar.gz
data.tar.gz
debian-binary

Noista .deb paketti koostuu.

Tuolta data.tar.gz: stä löytyy taasen mitä etsit kun sen purkaa:

Koodia: [Valitse]
tar -xzvf data.tar.gz./usr/
./usr/share/
./usr/share/man/
./usr/share/man/man1/
./usr/share/man/man1/fileage.1.gz
./usr/share/doc/
./usr/share/doc/fileage/
./usr/share/doc/fileage/copyright
./usr/share/doc/fileage/gpl3_fileage.txt
./usr/share/doc/fileage/changelog.gz
./usr/bin/
./usr/bin/fileage


Sieltä löytyy /usr kansion alta mutta tavarat joutuu käsin mättämään oikeisiin paikkoihin. Tuosta näkyy kuitenkin minne ne menisivät jos ne asentuisivat paketinhallinnan kautta.

PS.  Jos teet jälleen toiseen suuntaan niin siitä tulee taas .deb -paketti.  En ole kokeillut vastaavaa .rpm paketille, ei varmaan olisi vaikea   ;)
« Viimeksi muokattu: 21.11.14 - klo:19.24 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: fileage --- valitse tiedostoja iän perusteella
« Vastaus #4 : 21.11.14 - klo:19.29 »
Kivasti tuntuu toimivan. Onhan tämmöisissä kamalan iso homma, ei taida kaikki tajuta. Mutta eikö tunnu hyvältä kun saa valmiiksi ?
Tattista.

Hauskaa puuhaa ja näkee mielenkiintoisia juttuja kun ratkoo ongelmat.
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.