From a6a159cd3f8c8a89eccbba57689623a747fea73f Mon Sep 17 00:00:00 2001 From: SÅ‚awomir Nizio Date: Thu, 26 Apr 2012 00:50:57 +0200 Subject: Extend eread to allow sorting (bug 413577). --- bin/eread | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/eread b/bin/eread index 7d0a970..d74a167 100755 --- a/bin/eread +++ b/bin/eread @@ -5,6 +5,7 @@ # # Author: Donnie Berkholz # Updated by: Uwe Klosa +# Updated by: Slawomir Nizio # Get prefix EPREFIX=${EPREFIX:-$(portageq envvar EPREFIX)} @@ -30,9 +31,33 @@ fi # Set up select prompt PS3="Choice? " +SORT=${EREAD_SORT_ORDER} + +find_unsorted() { + find . -type f | sed -e "s:\./::g" +} +find_by_name() { + find . -type f | sort | sed -e "s:\./::g" +} +find_by_time() { + find . -type f | sort -k 3 -t : | sed -e "s:\./::g" +} +find_files() { + case ${SORT} in + alphabet) + find_by_name + ;; + time) + find_by_time + ;; + *) + find_unsorted + ;; + esac +} + select_loop() { - ANY_FILES=$(find . -type f) - ANY_FILES=$(echo ${ANY_FILES} | sed -e "s:\./::g") + ANY_FILES=$(find_files) if [[ -z ${ANY_FILES} ]]; then echo "No log items to read" @@ -51,6 +76,12 @@ select_loop() { QUIT="yes" break ;; + a) + SORT="alphabet" + ;; + t) + SORT="time" + ;; *) if [ -f "$FILE" ]; then ${PAGER} ${FILE} -- cgit v1.2.3-65-gdbad