So ordnen Sie Dateien nach Datum in der Tab-Abschlussliste


9
$ 7z l ~ / Downloads /Tab

Wie kann die resultierende Liste nach Datum und nicht nach Namen sortiert werden?

Ich verwende derzeit ein spezielles Skript, um N die neuesten Dateien in einem bestimmten Verzeichnis aufzulisten (und den Dateinamen manuell in die Befehlszeile zu kopieren), möchte ihn aber nahtlos und bequemer gestalten.


4
Einfach in zsh . Ich weiß nicht, ob es in Bash möglich ist.
— Gilles 'SO - hör auf böse zu sein'

Möchten Sie nur die nach Datum aufgelisteten Dateien anzeigen oder möchten Sie sie irgendwie in der Reihenfolge des Datums zum Archiv hinzufügen?
— Terdon

Es gibt viele verschiedene Dateien im Verzeichnis "Downloads", und ich möchte auf die kürzlich heruntergeladene Datei zugreifen (möglicherweise entpacken, möglicherweise irgendwohin verschieben usw.).
— Vi.

Antworten:


2

Ich glaube nicht, dass das möglich bashist, also könnten Sie es ausprobieren zsh. Ich bin zwar kein zsh-Benutzer, aber ich denke, diese Konfiguration sollte funktionieren:

autoload -U compinit
compinit
zstyle ':completion:*' file-sort modification reverse

( reverseHier sehen Sie die neuesten Dateien am Ende der Liste, da der obere Teil möglicherweise nicht auf dem Bildschirm sichtbar ist.)


0

Gelegentlich muss ich die zuletzt heruntergeladene Datei in meinem Download-Verzeichnis finden, kenne aber möglicherweise nicht den genauen Dateinamen. Hier ist, wie ich es mache.

ls -rt ~/Downloads

ls -tlistet die Dateien nach Zeit und nicht nach Name auf, wobei die aktuellste zuerst angezeigt wird. Da mein Download-Verzeichnis so viele Dateien enthält, möchte ich nicht zum Anfang der Liste scrollen, um die neuesten zu sehen. ls -rtKehrt die Reihenfolge der Liste um und zeigt die neueste Datei am Ende der Liste an.

Von dort aus können Sie ganz einfach das tun, was Sie brauchen. Zum Beispiel:

unzip $(ls -rt ~/Downloads | tail -n1)

oder

mv $(ls -rt ~/Downloads | tail -n1) *some_other_location*

Ihre ursprüngliche Frage könnte folgendermaßen gestellt werden:

7z l $(ls -rt ~/Downloads | tail -n1)

Mir ist klar, dass dies nicht der Tab-Vervollständigungsmethode entspricht, aber möglicherweise für Ihre Anforderungen geeignet ist.


Speichert nicht das Tippen. Eigentlich habe ich schon ein Skript damit rlzu ls -lhtc "$@" | head -n $Ntun.
— Vi.

Die Frage ist, wie dieses oder ein anderes Skript in die Registerkarte <kbd> </ kbd> eingebunden werden kann, damit nahtlos gedacht werden kann.
— Vi.

Ihr Snippet neigt auch dazu, bei einigen kniffligen Dateinamen zu brechen, wie es für heruntergeladene Dateien typisch ist.
— Vi.

0

Ich werde die folgenden Schritte dafür ausführen

  1. First I will find the files and their timestamps
  2. Sort them reversely
  3. Take top N
  4. Get the filenames
  5. Zip it or do whatever u like

Und das Skript sieht so aus (kann komplex sein)

find ~/Downloads/ -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r | head -N | cut -d' ' -f3 | xargs 7z l

Ich habe bereits ein ähnliches Skript mit dem Namen rl(aktuelle Liste). Aber ich muss es explizit aufrufen, dann kopieren und einfügen. Ich möchte, dass es stärker in die Tab-Vervollständigung integriert wird.
— Vi.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.