sed
en AIX no está haciendo lo que creo que debería. Estoy tratando de reemplazar múltiples espacios con un solo espacio en la salida de IOSTAT:
# iostat
System configuration: lcpu=4 drives=8 paths=2 vdisks=0
tty: tin tout avg-cpu: % user % sys % idle % iowait
0.2 31.8 9.7 4.9 82.9 2.5
Disks: % tm_act Kbps tps Kb_read Kb_wrtn
hdisk9 0.2 54.2 1.1 1073456960 436765896
hdisk7 0.2 54.1 1.1 1070600212 435678280
hdisk8 0.0 0.0 0.0 0 0
hdisk6 0.0 0.0 0.0 0 0
hdisk1 0.1 6.3 0.5 63344916 112429672
hdisk0 0.1 5.0 0.2 40967838 98574444
cd0 0.0 0.0 0.0 0 0
hdiskpower1 0.2 108.3 2.3 2144057172 872444176
# iostat | grep hdisk1
hdisk1 0.1 6.3 0.5 63345700 112431123
#iostat|grep "hdisk1"|sed -e"s/[ ]*/ /g"
h d i s k 1 0 . 1 6 . 3 0 . 5 6 3 3 4 5 8 8 0 1 1 2 4 3 2 3 5 4
sed debería buscar y reemplazar (s) múltiples espacios (/ [] * /) con un solo espacio (/ /) para todo el grupo (/ g) ... pero no solo está haciendo eso ... está espaciando cada carácter.
¿Qué estoy haciendo mal? Sé que tiene que ser algo simple ... AIX 5300-06
editar: Tengo otra computadora que tiene más de 10 discos duros. Estoy usando esto como parámetro para otro programa con fines de monitoreo.
El problema con el que me encontré fue que "awk '{print $ 5}' no funcionó porque estoy usando $ 1, etc. en la etapa secundaria y di errores con el comando Imprimir. Estaba buscando una versión grep / sed / cut Lo que parece funcionar es:
iostat | grep "hdisk1 " | sed -e's/ */ /g' | cut -d" " -f 5
Los [] s fueron "0 o más" cuando pensé que significaban "solo uno". Quitar los soportes lo hizo funcionar. Tres respuestas muy buenas realmente hacen que sea difícil elegir la "respuesta".