portable sed invocations
authorPaul Hänsch <paul@plutz.net>
Thu, 9 May 2019 13:35:36 +0000 (15:35 +0200)
committerPaul Hänsch <paul@plutz.net>
Thu, 9 May 2019 13:35:36 +0000 (15:35 +0200)
file.sh
storage.sh

diff --git a/file.sh b/file.sh
index b6118f5..51ec245 100755 (executable)
--- a/file.sh
+++ b/file.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright 2016 - 2018 Paul Hänsch
+# Copyright 2016 - 2019 Paul Hänsch
 #
 # This file is part of cgilite.
 # 
@@ -59,7 +59,7 @@ FILE(){
     # Parse the allowable date formats from Section 3.3.1 of
     # https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html
     HEADER If-Modified-Since \
-    | sed -r 's;^[^ ]+, ([0-9]{2}) (...) ([0-9]{4}) (..:..:..) GMT$;\3-\2-\1 \4;;
+    | sed -E 's;^[^ ]+, ([0-9]{2}) (...) ([0-9]{4}) (..:..:..) GMT$;\3-\2-\1 \4;;
               s;^[^ ]+, ([0-9]{2})-(...)-([789][0-9]) (..:..:..) GMT$;19\3-\2-\1 \4;;
               s;^[^ ]+, ([0-9]{2})-(...)-([0-6][0-9]) (..:..:..) GMT$;20\3-\2-\1 \4;;
               s;^[^ ]+ (...) ([0-9]{2}) (..:..:..) ([0-9]{4})$;\4-\1-\2 \3;;
@@ -69,7 +69,7 @@ FILE(){
     | xargs -r0 date +%s -ud 2>&-
   )"
 
-  range="$(HEADER Range |sed -nr 's;^bytes=([0-9]+-[0-9]*|-[0-9]+)$;\1;p;q;')"
+  range="$(HEADER Range |sed -nE 's;^bytes=([0-9]+-[0-9]*|-[0-9]+)$;\1;p;q;')"
   case "$range" in
     *-) range="${range}$((file_size - 1))";;
     -*) [ ${range#-} -le $file_size ] \
index 0d09b26..10a8029 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright 2018 Paul Hänsch
+# Copyright 2018, 2019 Paul Hänsch
 #
 # This is a file format helper, part of CGIlite.
 # 
@@ -74,7 +74,7 @@ STRING='
 
 STRING(){
   { [ $# -eq 0 ] && cat || printf %s "$*"; } \
-  | sed -r ':X; $!{N;bX;}'"$STRING"
+  | sed -E ':X; $!{N;bX;}'"$STRING"
 }
 
 UNSTRING='
@@ -89,5 +89,5 @@ UNSTRING='
 '
 UNSTRING(){
   { [ $# -eq 0 ] && cat || printf %s "$*"; } \
-  | sed -r "$UNSTRING"
+  | sed -E "$UNSTRING"
 }