Jak zamawiać pliki według daty na liście wypełnień kart


9
7 $ l ~ / Pliki do pobrania /Tab

Jak sprawić, by powstała lista była sortowana według daty, a nie według nazwy?

Obecnie używam specjalnego skryptu, aby wyświetlić N najnowszych plików w danym katalogu (i ręcznie skopiować nazwę pliku do wiersza poleceń), ale chcę, aby był płynny i wygodniejszy.


4
Łatwy w Zsh . Nie wiem czy to możliwe w bashu.
Gilles „SO- przestań być zły”

Czy chcesz po prostu zobaczyć pliki na liście według daty, czy chcesz je w jakiś sposób dodać do archiwum według daty?
terdon

W katalogu „Pobrane” jest wiele różnych plików i chcę uzyskać dostęp do ostatnio pobranego pliku (może go rozpakować, może gdzieś przenieść itp.).
Vi.

Odpowiedzi:


2

Nie sądzę, że bashjest w stanie to zrobić, więc możesz spróbować zsh. Nie jestem użytkownikiem Zsh, ale myślę, że ta konfiguracja powinna działać:

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

( reversetutaj, aby zobaczyć najnowsze pliki na końcu listy, ponieważ górna część może nie być widoczna na ekranie).


0

Czasami muszę znaleźć ostatnio pobrany plik w katalogu Pobrane, ale mogę nie znać dokładnej nazwy pliku. Oto jak to robię.

ls -rt ~/Downloads

ls -twyświetla listę plików według czasu, a nie nazwy, przy czym najnowsze są wyświetlane jako pierwsze. Ponieważ mój katalog Pobrań zawiera tak wiele plików, nie chcę przewijać do góry listy, aby zobaczyć najnowsze. ls -rtodwraca kolejność listy, wyświetlając najnowszy plik na dole listy.

Stamtąd możesz łatwo robić to, czego potrzebujesz. Na przykład:

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

lub

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

Twoje pierwotne pytanie można wykonać w następujący sposób:

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

Zdaję sobie sprawę, że nie jest to zgodne z metodą wypełniania Tab, ale może być odpowiednie dla Twoich potrzeb.


Nie oszczędza pisania. Właściwie mam już skrypt rldo ls -lhtc "$@" | head -n $Nzrobienia tego.
Vi.

Pytanie brzmi: jak wstawić ten lub inny skrypt w <kbd> Tab </kbd>, aby myślenie było płynne.
Vi.

Twój fragment kodu ma również tendencję do łamania niektórych trudnych nazw plików, typowych dla pobranych plików.
Vi.

0

Zrobię dla tego następujące kroki

  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

A skrypt wygląda tak (może być złożony)

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

Mam już podobny skrypt o nazwie rl(ostatnia lista). Ale muszę to wyraźnie nazwać, a następnie skopiować i wkleić. Chcę, aby była bardziej zintegrowana z uzupełnianiem tabulatorów.
Vi.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.