Skip to content

Commit 139f8c2

Browse files
authored
Make rfc.sh work on macos (#412)
1 parent e1847d2 commit 139f8c2

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

share/adapters/rfc.sh

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,16 @@ RFC_get()
1212
| sed 's/##/\n/g' \
1313
| sed 's/# //g' \
1414
| grep -o '.*\. ' \
15-
| sed -r 's/^(.*)(January|February|March|April|May|June|July|August|September|October|November|December) [[:digit:]]{4}(.*)$/\1/'
15+
| sed -E 's/^(.*)(January|February|March|April|May|June|July|August|September|October|November|December) [[:digit:]]{4}(.*)$/\1/'
1616
}
1717

18+
UNAME=$(uname -s)
19+
if [ "$UNAME" = "Darwin" ]; then
20+
SED_I="sed -i ''"
21+
else
22+
SED_I="sed -i"
23+
fi
24+
1825
mkdir -p /tmp/RFC_get
1926
local WEB_RESP="/tmp/RFC_get/rfc_get_web_resp_${RANDOM}.html"
2027
local RFC_INDEX="/tmp/RFC_get/rfc_index.html"
@@ -23,9 +30,11 @@ RFC_get()
2330
[ -f ${RFC_INDEX} ] || curl 'https://www.ietf.org/download/rfc-index.txt' 2>/dev/null > ${RFC_INDEX}
2431
local MIN_RFC=1
2532
local MAX_RFC=$(sed '/^ / d' ${RFC_INDEX} | tail -n 1 | sed 's/ .*//')
26-
33+
34+
local arg_lower=$(echo "$1" | tr '[:upper:]' '[:lower:]')
35+
2736
# Syntax check Usage statement
28-
if [ $# -lt 1 ] || [[ ${1,,} == "-h" ]] || [[ ${1,,} == "--help" ]] || [[ ${1,,} == ":help" ]] || [[ ${1,,} == ":usage" ]]
37+
if [ $# -lt 1 ] || [ "$arg_lower" = "-h" ] || [ "$arg_lower" = "--help" ] || [ "$arg_lower" = ":help" ] || [ "$arg_lower" = ":usage" ]
2938
then
3039
printf "
3140
USAGE:
@@ -80,15 +89,15 @@ RFC_get()
8089
fi
8190
fi
8291
# Print list of available RFCs
83-
elif [[ "${1,,}" == ":list" ]]
92+
elif [ "$arg_lower" = ":list" ]
8493
then
8594
# Format RFC_INDEX to show short description of each RFC
8695
rfc_describe \
8796
| grep -v 'Not Issued' \
8897
| sed 's/ .*//; s/^0*//'
8998
return 0
9099
# Print list of available RFCs
91-
elif [[ "${1,,}" == ":describe" ]]
100+
elif [ "$arg_lower" = ":describe" ]
92101
then
93102
# Format RFC_INDEX to show short description of each RFC
94103
rfc_describe
@@ -101,7 +110,7 @@ RFC_get()
101110
> $WEB_RESP
102111
fi
103112
# Format nicely and print
104-
sed -i '/Page [0-9]/,+2d; /page [0-9]/,+2d' ${WEB_RESP}
113+
$SED_I -e '/Page [0-9]/,+2d; /page [0-9]/,+2d' ${WEB_RESP}
105114
if grep -q '<!DOCTYPE html>' ${WEB_RESP}
106115
then
107116
echo "Error retrieving RFC $1"
@@ -112,5 +121,4 @@ RFC_get()
112121
return 0
113122
fi
114123
)
115-
116124
RFC_get "$1"

0 commit comments

Comments
 (0)