util: fix shed logic
This commit is contained in:
parent
e3ca67c7b3
commit
878d8115a0
1 changed files with 5 additions and 4 deletions
|
@ -1,11 +1,12 @@
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
: \
|
: \
|
||||||
&& f="${1?missing filename}" && shift \
|
&& f="${1?missing filename}" && shift \
|
||||||
&& for e in "$@" \
|
&& for e in "$@" \
|
||||||
;do : \
|
;do : \
|
||||||
&& cp "$f" "$f.bak" && sed -i -e "$e" "$f" \
|
&& { cp "$f" "$f.bak" || exit ;} \
|
||||||
&& { diff -q "$f" "$f.bak" >/dev/null; [ $? = 1 ] ;} \
|
&& 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 ;} \
|
|| { printf >&2 '\033[91mfailed to apply sed:\033[m\n%s\n' "$e"; exit 1 ;} \
|
||||||
&& rm "$f.bak" || exit \
|
|
||||||
;done \
|
;done \
|
||||||
;
|
;
|
||||||
|
|
Loading…
Add table
Reference in a new issue