Nowe posty

Autor Wątek: Data modyfikacji - polecenie find  (Przeczytany 5124 razy)

SwIeRsZcZ

  • Gość
Data modyfikacji - polecenie find
« dnia: 2009-03-08, 13:31:00 »
Nie wiem za bardzo jak to zrobić , żeby wypisać czasy modyfikacji plików w bieżącym katalogu i posortować je od najmniejszego do największego. (z użyciem find-a).

Próbowałem coś takiego:

find . -ls -printf %AT
jednak w tym wypadku, owszem są posortowane daty , ale oprócz nich wyświetlane są jeszcze informacje o prawach dostępu, domenie, użytkowniku itd. jak to przefiltrować żeby wyświetlała się tylko data wraz z nazwą pliku/folderu ??


Dzięki za pomoc

Bees

  • Gość
Data modyfikacji - polecenie find
« Odpowiedź #1 dnia: 2009-03-08, 14:18:39 »
może coś takiego wystarczy?
ls -l | gawk '{print $6,$7,$8,$9}' | sort

arctgx

  • Gość
Data modyfikacji - polecenie find
« Odpowiedź #2 dnia: 2009-03-08, 14:31:59 »
Zarówno gawk, jak i -ls są tu raczej zbędne:
find . -printf '%TT %f\\n' | sort -k1
Nie znalazłem w manualu informacji na temat sortowania danych przez find. Być może opcję sorta trzeba poprawić - na szybko dałem -k1.

P.S. Pytałeś o czas modyfikacji, więc zgodnie z manualem, nie AT, tylko TT.

Więcej lektury podręcznika (man -L C find) i prób!

SwIeRsZcZ

  • Gość
Data modyfikacji - polecenie find
« Odpowiedź #3 dnia: 2009-03-08, 15:08:59 »
Cytat: arctgx
Zarówno gawk, jak i -ls są tu raczej zbędne:
find . -printf '%TT %f\\n' | sort -k1
na szybko dałem -k1.
co właściwie robi ten parametr -k1 ?? w man wytłumaczenie jest dla mnie niezrozumiałe ocb . A różnic z nim czy bez niego nie widzę ;/

arctgx

  • Gość
Data modyfikacji - polecenie find
« Odpowiedź #4 dnia: 2009-03-08, 15:41:07 »
Cytat: "man sort"
-k poz1[,poz2]
              Zalecana, POSIX-owa składnia określania pól sortowania.  Pole jest częścią linii pomiędzy poz1 i poz2 (lub końcem linii, jeśli pominięto poz2) włącznie.  Pola i pozycje znaków numerowane są począwszy od 1.  Zatem sortowanie według drugiego pola  wymagałoby  '-k  2,2'.   Poniżej  znajdziesz więcej przykładów.
Tutaj więc wg pierwszego pola, czyli z czasem (równoważne opcji -k1,1). Warto sobie ten czas tak sformatować w find, by kolejność alfabetyczna zgadzała się z chronologiczną.