如何一次一行的解析grep返回的多行结果
时间:2011-08-24
来源:互联网
各位亲:
程序中用命令df -k | grep dsk获得了以下结果
/dev/dsk/c1t0d0s0 20168929 8670399 11296841 44% /
/dev/dsk/c1t1d0s6 70589121 59283595 10599635 85% /export/home0
/dev/dsk/c1t2d0s6 70589121 226205 69657025 1% /export/home1
/dev/dsk/c1t3d0s6 70589121 65553 69817677 1% /export/home2
/dev/dsk/c1t0d0s7 41350026 23329270 17607256 57% /export/home
我想每次读取一行,行数不固定,依每台机器的磁盘数目决定.将每行的不同数据装入不同的字符数组里,循环将所有行读完,请问该如何实现哪?
程序中用命令df -k | grep dsk获得了以下结果
/dev/dsk/c1t0d0s0 20168929 8670399 11296841 44% /
/dev/dsk/c1t1d0s6 70589121 59283595 10599635 85% /export/home0
/dev/dsk/c1t2d0s6 70589121 226205 69657025 1% /export/home1
/dev/dsk/c1t3d0s6 70589121 65553 69817677 1% /export/home2
/dev/dsk/c1t0d0s7 41350026 23329270 17607256 57% /export/home
我想每次读取一行,行数不固定,依每台机器的磁盘数目决定.将每行的不同数据装入不同的字符数组里,循环将所有行读完,请问该如何实现哪?
作者: jidaming 发布时间: 2011-08-24
df -k | grep dsk >result.txt
cat result.txt|while read line;do
done
每次一行,读到变量$line中
cat result.txt|while read line;do
done
每次一行,读到变量$line中
作者: wobenpingfan_y 发布时间: 2011-08-24
这个是要C程序实现的。。。。。
作者: jidaming 发布时间: 2011-08-24
C/C++ code
#!/bin/bash df | awk 'BEGIN{ row=1 } { #record in matrix for(col=1;col<=NF;++col) { matrix[row,col]=$col; } row++; } END{ for(i=1;i<row;++i) { for(j=1;j<=NF;++j) { print matrix[i,j]" "; } print "\n" } } '
作者: qq120848369 发布时间: 2011-08-24
用df的话,感觉挺麻烦的
1.要把结果弄到一个临时文件里面,然后你的程序再去读取。
2.或搞个管道,把df的结果从管道发送到你程序。
去查下statfs
1.要把结果弄到一个临时文件里面,然后你的程序再去读取。
2.或搞个管道,把df的结果从管道发送到你程序。
去查下statfs
作者: yyysss520 发布时间: 2011-08-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28