Dateien über Unterverzeichnisse hinweg nach Datum sortiert

Dieses Thema im Forum "Mac OS X - Unix & Terminal" wurde erstellt von oglimmer, 03.02.2007.

  1. oglimmer

    oglimmer Thread Starter MacUser Mitglied

    Beiträge:
    1.124
    Zustimmungen:
    79
    Registriert seit:
    16.11.2004
    Hi,

    weiß jemand wie ich im Terminal alle Dateien über Unterverzeichnisse hinweg nach Datum sortiert anzeigen kann.

    Ich will nicht Spotlight verwenden, es soll ein im Terminal sein!

    Gruß
    Oli

    (für Dateigröße habe ich das: "du -a | sort -n | tail -n 25", so einfach scheint es mir aber für nach Datum nicht zu sein)
     
  2. oglimmer

    oglimmer Thread Starter MacUser Mitglied

    Beiträge:
    1.124
    Zustimmungen:
    79
    Registriert seit:
    16.11.2004
    Da war ich wohl etwas zu früh mit posten.

    Habe das bei Google gefunden und es macht genau das was ich möchte.

    Wenn jemand noch kürzere Lösungen hat => her damit.
     
  3. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    Registriert seit:
    03.10.2006
    wie wär's mit:

    Code:
    ls -alTR | awk '{print $9,$6,$7,$8,$10}' | sort
    

    edit: nicht ganz, aber fast :)
     
  4. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    Registriert seit:
    03.10.2006
    @oglimmer
    ist mit 'nem Einzeiler wohl kaum möglich.
    Auch die Lösung von josh targownik (dein Link) liegt knapp daneben ;)
     
  5. oglimmer

    oglimmer Thread Starter MacUser Mitglied

    Beiträge:
    1.124
    Zustimmungen:
    79
    Registriert seit:
    16.11.2004
    Wieso geht denn die Lösung aus dem Link nicht?

    Bei meinem Tests hat es eigentlich gut geklappt.

    Ich habe diese Lösung getestet:
    PHP:
    #!/bin/sh 
    #no bells&whistles, this just takes ls -l output, reformats it slightly, 
    #and sorts the result fron newest to oldest; old files for which ls -l 
    #gives year rather than time all show 00:00 time 

    ls -lR "$@" 
    awk 'BEGIN { m = "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec" 
      "date +%Y" | getline yyyy; close("date +%Y") 
      "date +%b" | getline mmm;  close("date +%b") 
      mi = monthnum(mmm) 
      fmt = "%s %4d %-12s %-12s %12d %4d/%02d/%02d %s %s\n" 
      bfn = "[^ ]+ +[0-9]+ +[^ ]+ +[^ ]+ +[0-9]+ +(" m ") +[0-9]+ +[0-9:]+ +" 



    /^total/ || /^ *$/ { next } 
    /:$/ { sub(/:$/, "/"); sub("//$", "/") ; d = $0; next } 
    { match($0, bfn); fn = d substr($0, RSTART + RLENGTH) 
      mn = monthnum($6) 
      if (length($8) == 4) 
        printf(fmt, $1, $2, $3, $4, $5, $8, mn, $7, "00:00", fn) 
      else 
        printf(fmt, $1, $2, $3, $4, $5, yyyy-(mn<=mi?0:1), mn, $7, $8, fn) 


    function monthnum(s) { return int((index(m, s) + 3) / 4) }' 

    sort -+
     
  6. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    Registriert seit:
    03.10.2006
    Das Skript meinte ich nicht. Ich glaube schon, dass es funzt, werde es auch bei Gelegenheit testen.

    Ich dachte an den Einzeiler, der im letzten Post von josh targownik vorgeschlagen wurde:

    Code:
    ls -l `find .|xargs` | cut -c43-200 | sort -Mr | more
    man versucht ja oft, erst mal per Einzeiler das gesuchte Ergebnis zu erhalten, bevor man zu anderen Mitteln greift ;)
     
  7. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    Ganz schön umständlich :D.
    [Edit:] bezog sich auf #5

    Mal abgesehen davon, dass Du nicht angegeben hast, welches Datum Du meinst (Erstellung, letzte Änderung, letzter Zugriff).
    Ich geh' mal davon aus, Du meinst das Datum der letzten Änderung.
    In der zsh geht dann z.B. sowas:
    Code:
    stat -f "%m%t%Sm %N" **/* | sort -rn | cut -f2-
     
  8. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    Registriert seit:
    03.10.2006
    that's it
    maceis hat doch immer 'ne coole Lösung parat.
    :D
     
  9. oglimmer

    oglimmer Thread Starter MacUser Mitglied

    Beiträge:
    1.124
    Zustimmungen:
    79
    Registriert seit:
    16.11.2004
    Ich dachte an das "letzte Änderungsdatum".

    Ich habe jetzt die Lösung Maceis probiert, aber ich bekomme (für einen Verzeichnisbaum mit 10 Dateien und 1 Unterverzeichns) nur eine Zeile zurück. Mache ich was falsch?

    Aber cool, das Programm stat kannte ich gar nicht.
     
    Zuletzt bearbeitet: 04.02.2007
  10. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    Registriert seit:
    03.10.2006
    es geht mit der zsh, nicht mit der bash.
     
Die Seite wird geladen...

Diese Seite empfehlen