Chinaunix

标题: Shell问题请教!! [打印本页]

作者: 中国龙老张    时间: 2010-08-14 22:51
标题: Shell问题请教!!
各位大侠

下面一部分文本,其实有3个pool,分别是"test pool" "ypepivsdb1 pool" 和"ypfpivsdb2 pool"
这三个pool里面的磁带分别是2个,3个和4个。
我想写一个shell 程序能够得到这3个pool分别有几个磁带? 请各位大侠不吝赐教

多谢了!

test pool

001784  HCART3   ACS      3       -      -       15     91488   ACTIVE
001812  HCART3   ACS      3       -      -       15     94912   ACTIVE

ypepivsdb1 pool

000045  HCART3   TLD      1       46     -       3     844233440        ACTIVE
000745  HCART3   TLD      1       455    -       3     3668000  ACTIVE
000823  HCART3   TLD      1       533    -       3     46102304 ACTIVE

ypfpivsdb2 pool

000914  HCART3   TLD      1       624    -       3     73076448 ACTIVE
001004  HCART3   TLD      1       126    -       3     19219968 ACTIVE
0117L3  HCART3   TLD      2       118    -       3     101234816        ACTIVE
0121L3  HCART3   TLD      2       122    -       3     164481920        ACTIVE
作者: ly5066113    时间: 2010-08-14 22:56
  1. ly5066113@ubuntu:~$ cat urfile
  2. test pool

  3. 001784  HCART3   ACS      3       -      -       15     91488   ACTIVE
  4. 001812  HCART3   ACS      3       -      -       15     94912   ACTIVE

  5. ypepivsdb1 pool

  6. 000045  HCART3   TLD      1       46     -       3     844233440        ACTIVE
  7. 000745  HCART3   TLD      1       455    -       3     3668000  ACTIVE
  8. 000823  HCART3   TLD      1       533    -       3     46102304 ACTIVE

  9. ypfpivsdb2 pool

  10. 000914  HCART3   TLD      1       624    -       3     73076448 ACTIVE
  11. 001004  HCART3   TLD      1       126    -       3     19219968 ACTIVE
  12. 0117L3  HCART3   TLD      2       118    -       3     101234816        ACTIVE
  13. 0121L3  HCART3   TLD      2       122    -       3     164481920        ACTIVE
  14. ly5066113@ubuntu:~$ awk 'BEGIN{RS="";FS="\n"}{printf $0" ";getline;print NF}' urfile
  15. test pool 2
  16. ypepivsdb1 pool 3
  17. ypfpivsdb2 pool 4
复制代码

作者: 122285969    时间: 2010-08-14 23:02
望尘莫及!
作者: 中国龙老张    时间: 2010-08-15 00:34
[root@RHEL4 Bank_Of_China]# cat 2
test pool



001784  HCART3   ACS      3       -      -       15     91488   ACTIVE

001812  HCART3   ACS      3       -      -       15     94912   ACTIVE



ypepivsdb1 pool



000045  HCART3   TLD      1       46     -       3     844233440        ACTIVE

000745  HCART3   TLD      1       455    -       3     3668000  ACTIVE

000823  HCART3   TLD      1       533    -       3     46102304 ACTIVE



ypfpivsdb2 pool



000914  HCART3   TLD      1       624    -       3     73076448 ACTIVE

001004  HCART3   TLD      1       126    -       3     19219968 ACTIVE

0117L3  HCART3   TLD      2       118    -       3     101234816        ACTIVE

0121L3  HCART3   TLD      2       122    -       3     164481920        ACTIVE


[root@RHEL4 Bank_Of_China]# awk 'BEGIN{RS="";FS="\n"}{printf $0" ";getline;print NF}' 2
test pool 1
001812  HCART3   ACS      3       -      -       15     94912   ACTIVE 1
000045  HCART3   TLD      1       46     -       3     844233440        ACTIVE 1
000823  HCART3   TLD      1       533    -       3     46102304 ACTIVE 1
000914  HCART3   TLD      1       624    -       3     73076448 ACTIVE 1
0117L3  HCART3   TLD      2       118    -       3     101234816        ACTIVE 1
[root@RHEL4 Bank_Of_China]#
作者: 中国龙老张    时间: 2010-08-15 00:35
ly5066113 发表于 2010-08-14 22:56



   

我测试了一下,好像不灵啊

请再指教
作者: 网中淫    时间: 2010-08-15 01:34
回复 5# 中国龙老张
  1. 你文件的问题,你开始给的文件和你测试的文件不一样,可以这样改一下:
  2.     awk 'BEGIN{RS="\n\n\n";FS="\n\n"}{printf $0" ";getline;print NF}'
复制代码

作者: iori809    时间: 2010-08-15 08:28
回复 1# 中国龙老张


    awk 'BEGIN{getline;flag=$0;value=0}/HCAR/{value++}/pool/{print flag" "value;flag=$0;value=0}END{print flag" "value}' linux.189
test pool 2
ypepivsdb1 pool 3
ypfpivsdb2 pool 4
作者: 中国龙老张    时间: 2010-08-15 18:25
多谢各位老大指点!!!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2