亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2313 | 回復(fù): 8
打印 上一主題 下一主題

求助 編寫一個shell腳本 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-05-14 21:04 |只看該作者 |倒序瀏覽
一個文件包括多次ps aux的執(zhí)行結(jié)果,我想對每次的ps aux計算其%cpu的和(注意:其中每次ps aux得到的行數(shù)不一定一樣,比如第一次ps aux結(jié)果有10行,第二次ps aux有8行)

bj-djt-win-scp1b scu/bin> ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       145  0.1  0.0      0     0 ?        S    May08  10:34 [pdflush]
root      7773  0.2  0.0   9008  2500 ?        Ss   May08  27:24 /bin/sh /etc/init.d/init.cssd fatal
root      8995  0.4  0.3 473856 28840 ?        Ssl  May08  45:27 /oracle/crs/bin/crsd.bin reboot
oracle   12474  0.2  2.6 233344 217844 ?       SLl  May08  22:04 /oracle/crs/bin/ocssd.bin
scu      29189  0.8  0.6  70716 50404 ?        S    May08  79:50 manager 0
scu      29221  1.0  2.8 1239576 230188 ?      S    May08 100:59 scf 0 1
scu      29222  1.0  2.8 1239512 229856 ?      S    May08 100:42 scf 0 2
scu      29223  1.0  2.8 1239676 229924 ?      S    May08  99:58 scf 0 3
scu      29224  1.0  2.8 1239508 230132 ?      S    May08 100:08 scf 0 4
oracle   29339  0.3  7.7 4302156 631068 ?      Ss   May08  31:46 oracleora11g2 (LOCAL=NO)
oracle   29346  0.3  7.7 4302152 631824 ?      Ss   May08  31:49 oracleora11g2 (LOCAL=NO)
oracle   29353  0.3  7.7 4302104 629432 ?      Ss   May08  31:30 oracleora11g2 (LOCAL=NO)
oracle   29360  0.3  7.7 4302112 626508 ?      Rs   May08  31:42 oracleora11g2 (LOCAL=NO)
root     24151  0.3  0.0   8200  3092 ?        S<L  00:00   2:46 /usr/bin/atop -a -w /var/log/atop/atop_20100514 10
bj-djt-win-scp1b scu/bin> ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       145  0.1  0.0      0     0 ?        S    May08  10:34 [pdflush]
root      7773  0.2  0.0   9008  2500 ?        Ss   May08  27:24 /bin/sh /etc/init.d/init.cssd fatal
root      8995  0.4  0.3 473856 28840 ?        Ssl  May08  45:27 /oracle/crs/bin/crsd.bin reboot
oracle   12474  0.2  2.6 233344 217844 ?       SLl  May08  22:04 /oracle/crs/bin/ocssd.bin
scu      29189  0.8  0.6  70716 50404 ?        S    May08  79:50 manager 0
scu      29221  1.0  2.8 1239576 230188 ?      S    May08 100:59 scf 0 1
scu      29222  1.0  2.8 1239512 229856 ?      S    May08 100:42 scf 0 2
scu      29223  1.0  2.8 1239676 229924 ?      S    May08  99:58 scf 0 3
scu      29224  1.0  2.8 1239508 230132 ?      S    May08 100:08 scf 0 4
oracle   29339  0.3  7.7 4302156 631080 ?      Ss   May08  31:46 oracleora11g2 (LOCAL=NO)
oracle   29346  0.3  7.7 4302152 631828 ?      Ss   May08  31:49 oracleora11g2 (LOCAL=NO)
oracle   29353  0.3  7.7 4302104 629432 ?      Ss   May08  31:30 oracleora11g2 (LOCAL=NO)
oracle   29360  0.3  7.7 4302112 626508 ?      Ss   May08  31:42 oracleora11g2 (LOCAL=NO)
root     24151  0.3  0.0   8200  3092 ?        S<L  00:00   2:46 /usr/bin/atop -a -w /var/log/atop/atop_20100514 10
bj-djt-win-scp1b scu/bin> ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       145  0.1  0.0      0     0 ?        S    May08  10:34 [pdflush]
root      7773  0.2  0.0   9008  2500 ?        Ss   May08  27:24 /bin/sh /etc/init.d/init.cssd fatal
root      8995  0.4  0.3 473856 28840 ?        Ssl  May08  45:27 /oracle/crs/bin/crsd.bin reboot
oracle   12474  0.2  2.6 233344 217844 ?       SLl  May08  22:04 /oracle/crs/bin/ocssd.bin
scu      29189  0.8  0.6  70716 50404 ?        S    May08  79:50 manager 0
scu      29221  1.0  2.8 1239576 230188 ?      S    May08 100:59 scf 0 1
scu      29222  1.0  2.8 1239512 229856 ?      S    May08 100:42 scf 0 2
scu      29223  1.0  2.8 1239676 229924 ?      S    May08  99:58 scf 0 3
scu      29224  1.0  2.8 1239508 230132 ?      S    May08 100:08 scf 0 4
oracle   29339  0.3  7.7 4302156 631080 ?      Ss   May08  31:46 oracleora11g2 (LOCAL=NO)
oracle   29346  0.3  7.7 4302152 631836 ?      Ss   May08  31:49 oracleora11g2 (LOCAL=NO)
oracle   29353  0.3  7.7 4302104 629432 ?      Ss   May08  31:30 oracleora11g2 (LOCAL=NO)
oracle   29360  0.3  7.7 4302112 626508 ?      Ss   May08  31:42 oracleora11g2 (LOCAL=NO)
root     24151  0.3  0.0   8196  3088 ?        S<L  00:00   2:46 /usr/bin/atop -a -w /var/log/atop/atop_20100514 10
bj-djt-win-scp1b scu/bin> ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       145  0.1  0.0      0     0 ?        S    May08  10:34 [pdflush]
root      7773  0.2  0.0   9008  2500 ?        Ss   May08  27:24 /bin/sh /etc/init.d/init.cssd fatal
root      8995  0.4  0.3 473856 28840 ?        Ssl  May08  45:27 /oracle/crs/bin/crsd.bin reboot
oracle   12474  0.2  2.6 233344 217844 ?       SLl  May08  22:04 /oracle/crs/bin/ocssd.bin
scu      29189  0.8  0.6  70716 50404 ?        S    May08  79:50 manager 0
scu      29221  1.0  2.8 1239576 230188 ?      S    May08 101:00 scf 0 1
scu      29222  1.0  2.8 1239512 229856 ?      S    May08 100:42 scf 0 2
scu      29223  1.0  2.8 1239676 229924 ?      S    May08  99:58 scf 0 3
scu      29224  1.0  2.8 1239508 230132 ?      S    May08 100:08 scf 0 4
oracle   29339  0.3  7.7 4302156 631080 ?      Ss   May08  31:47 oracleora11g2 (LOCAL=NO)
oracle   29346  0.3  7.7 4302152 631836 ?      Ss   May08  31:49 oracleora11g2 (LOCAL=NO)
oracle   29353  0.3  7.7 4302104 629432 ?      Ss   May08  31:30 oracleora11g2 (LOCAL=NO)
oracle   29360  0.3  7.7 4302112 626508 ?      Ss   May08  31:42 oracleora11g2 (LOCAL=NO)
root     24151  0.3  0.0   8196  3088 ?        S<L  00:00   2:46 /usr/bin/atop -a -w /var/log/atop/atop_20100514 10
bj-djt-win-scp1b scu/bin> ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       145  0.1  0.0      0     0 ?        S    May08  10:34 [pdflush]
root      7773  0.2  0.0   9008  2500 ?        Ss   May08  27:24 /bin/sh /etc/init.d/init.cssd fatal
root      8995  0.4  0.3 473856 28840 ?        Ssl  May08  45:27 /oracle/crs/bin/crsd.bin reboot
oracle   12474  0.2  2.6 233344 217844 ?       SLl  May08  22:04 /oracle/crs/bin/ocssd.bin
scu      29189  0.8  0.6  70716 50404 ?        S    May08  79:50 manager 0
scu      29221  1.0  2.8 1239576 230188 ?      S    May08 101:00 scf 0 1
scu      29222  1.0  2.8 1239512 229856 ?      S    May08 100:42 scf 0 2
scu      29223  1.0  2.8 1239676 229924 ?      S    May08  99:58 scf 0 3
scu      29224  1.0  2.8 1239508 230132 ?      S    May08 100:08 scf 0 4
oracle   29339  0.3  7.7 4302156 631128 ?      Ss   May08  31:47 oracleora11g2 (LOCAL=NO)
oracle   29346  0.3  7.7 4302152 631836 ?      Ss   May08  31:49 oracleora11g2 (LOCAL=NO)
oracle   29353  0.3  7.7 4302104 629432 ?      Ss   May08  31:30 oracleora11g2 (LOCAL=NO)
oracle   29360  0.3  7.7 4302112 626524 ?      Ss   May08  31:42 oracleora11g2 (LOCAL=NO)
root     24151  0.3  0.0   8196  3088 ?        S<L  00:00   2:46 /usr/bin/atop -a -w /var/log/atop/atop_20100514 10
oracle   13566  3.0  0.4 4298468 34548 ?       Ss   13:46   0:00 ora_j000_ora11g2

論壇徽章:
0
2 [報告]
發(fā)表于 2010-05-14 21:32 |只看該作者
awk 'NR>1{total+=$3}END{print total}'

論壇徽章:
0
3 [報告]
發(fā)表于 2010-05-14 22:24 |只看該作者
本帖最后由 zhangshebao 于 2010-05-14 22:31 編輯
  1. i=1
  2. for [ $i -le 10 ];do
  3. ps pux
  4. echo "END"
  5. i=`expr $i + 1`
  6. done|awk '
  7. {
  8. if ($0=="END"){
  9. if (cpu>0)print "CPU="cpu;
  10. cpu=0;
  11. } else {
  12. cpu+=$3;
  13. }
  14. }'
復(fù)制代碼

找一下你的文件中每個ps命令之間的分隔有什么特征,如果可以的話,每次ps后增加一個echo語句告訴awk ps結(jié)束了.
如果不介意下個ps時顯示上次ps的結(jié)果,也可以用$1=="USER"或$0==標題行作為輸出的條件.

論壇徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年紀念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役紀念章
日期:2022-04-24 14:33:24
4 [報告]
發(fā)表于 2010-05-14 22:40 |只看該作者
回復(fù) 2# iori809


你沒有理解樓主的意思吧?

論壇徽章:
0
5 [報告]
發(fā)表于 2010-05-15 04:25 |只看該作者
try:

  1. awk -v RS="\n*bj-djt-win-scp1b scu/bin> ps aux\n|\n" 'NR>2&&s~"\n*bj-djt-win-scp1b scu/bin> ps aux\n"{print n;n=0}NR!=1{n+=$3}{s=RT}END{print n}' URFILE
復(fù)制代碼

論壇徽章:
0
6 [報告]
發(fā)表于 2010-05-15 09:08 |只看該作者
回復(fù) 4# Shell_HAT


    讓折騰大哥見笑了~呵呵. 我理解需求的能力不行啊~趕緊寫一個挽回聲譽
[root@Dan scripts]# awk '{if($0 ~ /CPU/){while(getline tmp > 0){if(tmp ~ /ps/){print total;total=0;getline}else{split(tmp,array);total+=array[3]}}}}END{print total}' linux.142
7.2
7.2
7.2
7.2
10.2

論壇徽章:
0
7 [報告]
發(fā)表于 2010-05-15 12:39 |只看該作者
awk '/ps aux/&&NR>1{print cpu;cpu=0}{cpu+=$3}END{print cpu}' data

論壇徽章:
0
8 [報告]
發(fā)表于 2010-05-15 13:12 |只看該作者
回復(fù) 8# lucash


   

論壇徽章:
3
15-16賽季CBA聯(lián)賽之遼寧
日期:2017-12-28 12:15:1015-16賽季CBA聯(lián)賽之福建
日期:2017-12-28 12:26:5115-16賽季CBA聯(lián)賽之新疆
日期:2018-03-07 15:09:17
9 [報告]
發(fā)表于 2010-05-17 10:33 |只看該作者
ps aux    才十幾行 ?


[oracle@RAC2 ~]$ ps aux | wc -l
275
[oracle@RAC2 ~]$ ps aux | grep -v oracle | wc -l
95
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP