util: fix shed logic

This commit is contained in:
Connor Olding 2022-10-01 18:26:12 -07:00
parent e3ca67c7b3
commit 878d8115a0

View File

@ -1,11 +1,12 @@
#!/usr/bin/env sh
: \
&& f="${1?missing filename}" && shift \
&& for e in "$@" \
&& for e in "$@" \
;do : \
&& cp "$f" "$f.bak" && sed -i -e "$e" "$f" \
&& { diff -q "$f" "$f.bak" >/dev/null; [ $? = 1 ] ;} \
&& { cp "$f" "$f.bak" || exit ;} \
&& sed -i -e "$e" "$f" \
&& { diff -q "$f" "$f.bak" >/dev/null; x=$?; rm "$f.bak" || exit ;} \
&& [ $x = 1 ] \
|| { printf >&2 '\033[91mfailed to apply sed:\033[m\n%s\n' "$e"; exit 1 ;} \
&& rm "$f.bak" || exit \
;done \
;