Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: AimoE - 03.12.16 - klo:13.28
-
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:
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.
-
Luultavasti hakemasi vipu on -mtime.
zsh:ssa sama näin:
print **/*(.m-1)
-
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ä.
-
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:
find . -name "*" -type f -mtime -1
-
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:
find . -mtime 0
Esimerkki ja selitys manuaalisivulta:
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.
-
Jos haluat viimeisen 24 tunnin aikana muokatut tiedostot, oikea arvo on 0:
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.
-
Tuolle on helppoa antaa aikamääreitä:
http://homelinuxpc.com/download/fileage_1.1-1_all.deb (http://homelinuxpc.com/download/fileage_1.1-1_all.deb)
Voi halutessaan ajaa myös komennon osumille, esim. ajaa backupin, poistaa, tms.
-
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).