Er is een schone en robuuste manier om sort | head
op datum te zetten:
ls -l
gebruiken voor mooie afdrukken
find . ! -type d -printf "%T@ %p```
findByDate() {
local humansize=''
["$1" = "-h"] && humansize='h' && shift
find . ${2:-! -type d} -printf "%T@ %p```
Usage: findByDate [-h] [lines] [find options]
```" |
sort -zrn |
head -zn ${1:--0} |
sed -z 's/^[0-9.] //' |
xargs -0 ls -dlt${humansize}
}
```" |
sort -zrn |
head -zn 10 |
sed -z 's/^[0-9.] //' |
xargs -0 ls -lt
Als een bash functie:
findByDate
Dit kan worden uitgevoerd met één of twee argumenten, of zelfs zonder:
findByDate -h 12
Voorbeeld:
findByDate 42 '-type l'
Toont alle non directories gesorteerd op datum. Opmerking:
Zelfs op een groot bestandssysteem, omdat xargs
al een gesorteerde lijst ontvangt, blijft de volgorde van de bestanden correct, zelfs als ls
vele malen moet worden uitgevoerd.
findByDate -0 '( -type l -o -type b -o -type s -o -type c )'
Toont nog eens 12 recente niet-directories gesorteerd op datum, met grootte afgedrukt in menselijk leesbare vorm
findByDate() {
local humansize=''
["$1" = "-h"] && humansize='h' && shift
find . ${2:-! -type d} -printf "%T@ %p```
Usage: findByDate [-h] [lines] [find options]
```" |
sort -zn |
tail -zn ${1:-+0} |
sed -z 's/^[0-9.] //' |
xargs -0 ls -dltr${humansize}
}
Toont nog eens 42 recente symlinks
0x1&
Toont alle symlinks, block devices, sockets en characters devices, gesorteerd op datum.
Omkering van volgorde
Vervanging van head
door tail
en wissel van sort
en ls
:
0x1&
Dezelfde functie, hetzelfde gebruik:
0x1&