[Surfraw-commits] [surfraw] 01/01: Use awk instead of sed for listing elvi.

Kyle Isom kyle-guest at moszumanska.debian.org
Mon Sep 14 04:59:12 UTC 2015


This is an automated email from the git hooks/post-receive script.

kyle-guest pushed a commit to branch master
in repository surfraw.

commit 90b4199a59fd5886c0e0b208e5c88472f5fc1768
Author: Kyle Isom <coder at kyleisom.net>
Date:   Sun Sep 13 20:42:43 2015 -0700

    Use awk instead of sed for listing elvi.
    
    The awk syntax for doing this is more portable across different
    implementations of awk than the equivalent sed expression.
    
    Tested on OS X 10.10.5:
    $ awk --version
    GNU Awk 4.1.3, API: 1.1
    ...
    $ mawk -W version
    mawk 1.3.4 20141027
    
    Test on Debian GNU/Linux 8.2 (jessie):
    $ gawk --version
    GNU Awk 4.1.1, API: 1.1 (GNU MPFR 3.1.2-p3, GNU MP 6.0.0)
    $ mawk -W version
    mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan
    $ original-awk --version
    awk version 20121220
    
    Test on OpenBSD 5.7 GENERIC.MP#3 i386:
    $ awk -V
    awk version 20110810
---
 ChangeLog  | 6 ++++++
 surfraw.IN | 6 +++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a0cacce..f5bd63a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-09-13  Kyle Isom <kyle at imap.cc>
+
+	* use awk instead of sed for listing elvi
+
+          This provides better cross-platform behaviour.
+
 2015-08-23  Jason Ryan <jasonwryan at gmail.com>
 
 	* new elvi: searx
diff --git a/surfraw.IN b/surfraw.IN
index 0de3c96..8471216 100755
--- a/surfraw.IN
+++ b/surfraw.IN
@@ -323,9 +323,9 @@ w3_parse_option_hook () {
 }
 
 list_elvi() {
-    local dir="$1"
-    sed -n 's/^.*elvis:[ 	]\+\(.*\)$/\1/p' $(find "$dir" ! -type d ! -type l ! -name '*~' | sort)
-    for script in $(find "$dir" ! -type d -type l | sort) ; do
+    local_dir="$1"
+    awk '/^#[ 	]+elvis:[ 	]+/{ sub("^# elvis: ",""); print $0; }' $(find "$local_dir/" ! -type d ! -type l ! -name '*~' | sort | xargs)
+    for script in $(find "$local_dir/" ! -type d -type l | sort) ; do
 	printf '%-16s--> %s\n' $(basename "$script") $(basename $(readlink "${script}"))
     done
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/surfraw/surfraw.git



More information about the Surfraw-commits mailing list