it-swarm-eu.dev

Jak získat pouze soubory vytvořené po datu s ls?

Pomocí příkazu ls je možné zobrazit pouze soubory vytvořené po určitém datu, hodině ...?

Žádám o to, protože mám adresář s tisíci soubory.

Chci tak vidět všechny soubory, které byly vytvořeny od včerejška.

Používám ls -ltr ale musím počkat, až uvidím všechny soubory ...

Existuje ekvivalent DIRECTORY/SINCE=date z OpenVMS?

109
Luc M

Pomocí příkazu find můžete najít všechny soubory, které byly po určitém počtu dnů změněny.

Chcete-li například vyhledat všechny soubory v aktuálním adresáři, které byly změněny od včerejška (před 24 hodinami), použijte:

find . -maxdepth 1 -mtime -1

Chcete-li najít upravené soubory dříve před 24 hodinami, musíte použít -mtime +1 namísto -mtime -1.

132
dogbane
find . -type f -newermt '1/30/2017 0:00:00'

Najdete zde všechny soubory upravené po určitém datu.

29
nullability
ls -ltr | grep "`date | awk '{print $2" "$3}'`"
1
Trant Batey

Doufám, že to funguje:

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $9}'

Tady:

$6 indicates position of month
$7 indicates day of the month

výše uvedený příkaz vytiskne všechny názvy souborů, které jsou vytvořeny od 1. května do 31. května

pokud chcete na konzoli vytisknout také datum, zkuste to

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'

Pokud chcete zadat cestu k adresáři, můžete to vyzkoušet

ls -ltr <path>| awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'
0
Rohit Nimmala