Kirjoittaja Aihe: Milä komennolla listaan tänään luodut tiedostot? [RATKAISTU]  (Luettu 3985 kertaa)

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Minulla on tyäkalu jolla suoritan tietyn toimenpiteen tuoreimmille tiedostoille. Olen käyttänyt tuoreuden testaamiseen find-komennon vipua -newer ja valinnut tiedoston jota tuoreempia käsiteltävien tiedostojen pitäisi olla. Mutta nyt mun oma toimintatapa on muuttunut, enkä enää pysty valitsemaan tiedostoa johon verrata, koska se tiedosto johon ennen vertasin syntyy nyt myöhemmin.

Olen siis käyttänyt komentoa:

Koodia: [Valitse]
find -P . -name $FILES -newer $RECENT
missä $RECENT on erään tiedoston nimi.

Nyt kun tuo tiedosto ei ole tarpeeksi vanha mun nykyisellä käyttötavalla, haluaisin etsiä ja prosessoida tiedostot jotka on luotu (tai muokattu) tänään. Mutta vaikka kuinka yritän kokeilla erilaisia vaihtoehtoja -newermt:n parametriksi, en löydä oikeaa keinoa ilmaista ajatusta "since yesterday". Kokeilin läpi myös vivut mmin ja mtime ja niiden a- ja c-alkuiset vaihtoehdot, mutta jotenkin en vaan keksi mikä toimisi.
« Viimeksi muokattu: 03.12.16 - klo:14.55 kirjoittanut AimoE »

SuperOscar

  • Käyttäjä
  • Viestejä: 4064
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Milä komennolla listaan tänään luodut tiedostot?
« Vastaus #1 : 03.12.16 - klo:13.43 »
Luultavasti hakemasi vipu on -mtime.

zsh:ssa sama näin:

Koodia: [Valitse]
print **/*(.m-1)
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Milä komennolla listaan tänään luodut tiedostot?
« Vastaus #2 : 03.12.16 - klo:13.48 »
Luultavasti hakemasi vipu on -mtime.

Niin minäkin luulin, mutta kun ei. Kun yritän "-mtime 1", en saa yhtään tiedostoa esiin. Sama miinuksella (-mtime -1). Plussalla (-mtime +1) saan kaksi ikivanhaa tiedostoa, ei yhtään tämänpäiväistä.

raimo

  • Käyttäjä
  • Viestejä: 4269
  • openSUSE Tumbleweed
    • Profiili
Vs: Milä komennolla listaan tänään luodut tiedostot?
« Vastaus #3 : 03.12.16 - klo:13.58 »
Luultavasti hakemasi vipu on -mtime.

Niin minäkin luulin, mutta kun ei. Kun yritän "-mtime 1", en saa yhtään tiedostoa esiin. Sama miinuksella (-mtime -1). Plussalla (-mtime +1) saan kaksi ikivanhaa tiedostoa, ei yhtään tämänpäiväistä.

Kyllä minulla toimii, esim näin:
Koodia: [Valitse]
find . -name "*" -type f -mtime -1
Tietä käyden tien on vanki. Vapaa on vain umpihanki.
Aaro Hellaakoski

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Milä komennolla listaan tänään luodut tiedostot?
« Vastaus #4 : 03.12.16 - klo:14.04 »
Niin minäkin luulin, mutta kun ei. Kun yritän "-mtime 1", en saa yhtään tiedostoa esiin. Sama miinuksella (-mtime -1). Plussalla (-mtime +1) saan kaksi ikivanhaa tiedostoa, ei yhtään tämänpäiväistä.

Jos haluat viimeisen 24 tunnin aikana muokatut tiedostot, oikea arvo on 0:

Koodia: [Valitse]
find . -mtime 0
Esimerkki ja selitys manuaalisivulta:

Lainaus
find $HOME -mtime 0

       Search for files in your home directory which have been modified in the
       last  twenty-four  hours.  This command works this way because the time
       since each file was last modified  is  divided  by  24  hours  and  any
       remainder is discarded.  That means that to match -mtime 0, a file will
       have to have a modification in the past which is  less  than  24  hours
       ago.

Vipu -daystart voi olla myös hyödyllinen, jos haluat rajata päiviin 24 tunnin sijaan.
« Viimeksi muokattu: 03.12.16 - klo:14.08 kirjoittanut nm »

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Milä komennolla listaan tänään luodut tiedostot?
« Vastaus #5 : 03.12.16 - klo:14.55 »
Jos haluat viimeisen 24 tunnin aikana muokatut tiedostot, oikea arvo on 0:

Koodia: [Valitse]
find . -mtime 0

Ah, no niin, onhan nollakin keksitty. Kiitos hinduille siitä.

Vipu -daystart voi olla myös hyödyllinen, jos haluat rajata päiviin 24 tunnin sijaan.

Kyllä, tarvitsen. Komento find on nin monipuolinen että manuaalin lukemisen sijaan tulee käytettyä hakusanoja, eikä tuo osunut hakuun.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Tuolle on helppoa antaa aikamääreitä:

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

Voi halutessaan ajaa myös komennon osumille, esim. ajaa backupin, poistaa, tms.
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

juyli

  • Vieras
Minulla on tyäkalu jolla suoritan tietyn toimenpiteen tuoreimmille tiedostoille.
Erittäin mielenkiintoinen aihe, jonka toivoisin siirrettävän kysymykseni osalta 'Ohjelmointi, palvelimet ja muu edistyneempi käyttö' -alueelle.
Kuka kulloinkin joutuu asentamaan joko binääritiedostoja tai jopa lähdekoodista väännettyjä sovellutuksia koneelle. Vaikka esim. Checkinstall -sovellutus on käytettävissä, voi joskus olla oma ongelmansa selvittää, mitä ja mihin milloinkin ohjelman tiedostot asentuvat.
Jos lähdekoodin lukeminen ei avaa ongelmaa, voisi olla merkittävää apua tietää, mitkä tiedostot ovat asentuneet ohjelmaa asennettaessa.
Tällaisesta olisi erityinen apu ohjelmaa poistettaessa (joissakin lähdekoodipaketeissa on myös ohjeet ohjelman poistamiseksi).