From 68992a1d4c1c60450ab72de97ec9d84ad1ca8169 Mon Sep 17 00:00:00 2001 From: Siraaj Khandkar Date: Sat, 20 Apr 2019 13:20:18 -0400 Subject: [PATCH] Report total objects found and organize implementation notes --- lib/login_functions.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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() { -- 2.20.1