diff options
-rwxr-xr-x | print-status-html | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/print-status-html b/print-status-html index aa4049e..53a033a 100755 --- a/print-status-html +++ b/print-status-html @@ -88,16 +88,24 @@ EOF s,.*,<font color="#800000">\0</font>, ' - find /sys/block/ -mindepth 1 -maxdepth 1 -name 'md*' -printf '%f: ' -exec cat {}/md/mismatch_cnt \; \ - | sort -u \ - | sed ' - s/$/ mismatches/ - /^\S\+: 0 mismatches$/ { - s,.*,<font color="#008000">\0</font>, - b - } - s,.*,<font color="#800000">\0</font>, - ' + find /sys/block/ -mindepth 1 -maxdepth 1 -name 'md*' -printf '%f\n' \ + | sed 's@^md@@' \ + | sort -n \ + | while read -r md; do + if [ -f "/sys/block/md${md}/md/mismatch_cnt" ]; then + sed ' + s/^/md'"${md}"': / + s/$/ mismatches/ + /^\S\+: 0 mismatches$/ { + s,.*,<font color="#008000">\0</font>, + b + } + s,.*,<font color="#800000">\0</font>, + ' "/sys/block/md${md}/md/mismatch_cnt" + else + printf 'md%s\n' "${md}" + fi + done } \ | sed ' s/$/<br>/ |