The use of grep is redundant, sed can do the same. The problem is in the use of * that matchwhich also match 0 spaces. With GNU sed, you have tomay use \+ instead:
iostat | sed -n '/hdisk1/s/ \+/ /gp'
If yourOr, with standard sed do:
iostat | sed -e '/hdisk/!d' -e 's/ \{2,\}/ /g'
to delete all lines that does not supportscontain the substring \+hdisk metachar, then doand to replace all runs of two or more spaces with single spaces, or
iostat | sed -ne '/hdisk1/s!d' -e 's/ */ /gp'g'