From: Siraaj Khandkar Date: Sat, 20 Apr 2019 17:20:18 +0000 (-0400) Subject: Report total objects found X-Git-Url: https://git.xandkar.net/?a=commitdiff_plain;h=68992a1d4c1c60450ab72de97ec9d84ad1ca8169;hp=610785ef4023005e406715f306b5ccb85273d670;p=khome.git Report total objects found and organize implementation notes --- diff --git a/lib/login_functions.sh b/lib/login_functions.sh index 950eb6f..13a2ba2 100644 --- a/lib/login_functions.sh +++ b/lib/login_functions.sh @@ -17,10 +17,13 @@ tdu() { # Most-recently modified file system objects recent() { - # Intentional non-quoting of the parameters, so that some can be ignored if - # not passed, rather than be passed to find as empty strings. - # NOTE that %T+ is a GNU extention. + # NOTES: + # - intentionally not quoting the parameters, so that some can be ignored + # if not passed, rather than be passed to find as an empty string; + # - %T+ is a GNU extension; + # - gawk is able to split records on \0, while awk cannot. find $@ -printf '%T@ %T+ %p\0' \ + | tee >(gawk -v RS='\0' 'END { printf("[INFO] Total found: %d\n", NR); }') \ | sort -z -k 1 -n -r \ | head -n "$(stty size | awk 'NR == 1 {print $1 - 5}')" -z \ | gawk -v RS='\0' ' @@ -30,7 +33,6 @@ recent() { sub("\\.[0-9]+", "") # Remove fractional seconds print }' - # gawk is able to split records on \0, while awk cannot. } recent_dirs() {