sed
trên AIX không làm những gì tôi nghĩ nó nên. Tôi đang cố gắng thay thế nhiều không gian bằng một khoảng trống trong đầu ra của 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 nên tìm kiếm và thay thế (nhiều) nhiều khoảng trắng (/ [] * /) bằng một khoảng trắng (/ /) cho toàn bộ nhóm (/ g) ... nhưng nó không chỉ làm điều đó ... cách nhau từng ký tự.
Tôi đang làm gì sai? Tôi biết nó phải đơn giản ... AIX 5300-06
chỉnh sửa: Tôi có một máy tính khác có hơn 10 ổ cứng. Tôi đang sử dụng điều này như là một tham số cho một chương trình khác cho mục đích giám sát.
Vấn đề tôi gặp phải là "awk '{print $ 5}' không hoạt động vì tôi đang sử dụng $ 1, v.v. trong giai đoạn thứ cấp và đã gặp lỗi với lệnh In. Tôi đang tìm phiên bản grep / sed / cut Những gì dường như làm việc là:
iostat | grep "hdisk1 " | sed -e's/ */ /g' | cut -d" " -f 5
Các [] là "0 trở lên" khi tôi nghĩ chúng có nghĩa là "chỉ một". Loại bỏ các dấu ngoặc đã làm cho nó hoạt động. Ba câu trả lời rất hay thực sự nhanh chóng khiến bạn khó chọn "câu trả lời".