次の内容のファイルがあります...
2012-09-19_12:26:01
UPTIME report
12:26:12 up 2 days, 22:53, 5 users, load average: 0.13, 0.10, 0.03
FREE report
total used free shared buffers cached
Mem: 1914244 366692 1547552 0 85136 160928
-/+ buffers/cache: 120628 1793616
Swap: 4192956 35928 4157028
VMSTAT report
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 35928 1547552 85136 160928 3 4 4 79 16 40 1 6 92 0 0
IOSTAT report
Linux 2.6.32-279.el6.x86_64 (progserver) 09/19/12 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.17 0.00 6.22 0.10 0.07 92.44
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
xvdc 1.92 23.72 30.26 6052098 7720864
xvda 11.25 6.00 600.34 1530740 153196208
Top 10 cpu using processes
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 9422 1.0 0.0 13492 1060 ? R 12:26 0:00 ps auxww --sort=-pcpu
root 6520 0.2 0.2 143800 4308 pts/3 S+ 12:25 0:00 vim LogicApp/Logic.py
root 28406 0.2 0.0 15024 1272 pts/4 S+ 12:23 0:00 top
root 1 0.0 0.0 19228 292 ? Ss Sep16 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S Sep16 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Sep16 1:06 [migration/0]
root 4 0.0 0.0 0 0 ? S Sep16 0:02 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S Sep16 0:00 [migration/0]
Top 10 memory using processes
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 6520 0.2 0.2 143800 4308 pts/3 S+ 12:25 0:00 vim LogicApp/Logic.py
postfix 12145 0.0 0.1 78752 3204 ? S 11:36 0:00 pickup -l -t fifo -u
root 928 0.0 0.1 251576 2956 ? Sl Sep16 0:08 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
root 6521 0.0 0.0 140096 1336 ? S 12:26 0:00 CROND
root 28406 0.2 0.0 15024 1272 pts/4 S+ 12:23 0:00 top
root 31822 0.0 0.0 108428 1084 pts/6 Ss+ Sep18 0:00 -bash
root 9424 1.0 0.0 13492 1064 ? R 12:26 0:00 ps auxww --sort=-rss
root 4936 0.0 0.0 108428 936 pts/3 Ss Sep18 0:00 -bash
私がやりたいのは、このファイルの一部を画面に出力することです。たとえば、ファイルの次のセクションを取得して、Python で画面に出力したいと思います...
Top 10 cpu using processes
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 9422 1.0 0.0 13492 1060 ? R 12:26 0:00 ps auxww --sort=-pcpu
root 6520 0.2 0.2 143800 4308 pts/3 S+ 12:25 0:00 vim LogicApp/Logic.py
root 28406 0.2 0.0 15024 1272 pts/4 S+ 12:23 0:00 top
root 1 0.0 0.0 19228 292 ? Ss Sep16 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S Sep16 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Sep16 1:06 [migration/0]
root 4 0.0 0.0 0 0 ? S Sep16 0:02 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S Sep16 0:00 [migration/0]
これは正規表現になると思います。cpu と書かれている行と、memory と書かれている行を一致させたいと思います。
これを達成する方法はありますか?