用C#正则表达式解析Linux df输出

问题描述

|| 如何使用C#正则表达式解析df-Bk Linux命令输出?
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             7913216K  2348412K  5165992K  32% /
varrun                 257788K      108K   257680K   1% /var/run
varlock                257788K        0K   257788K   0% /var/lock
udev                   257788K       56K   257732K   1% /dev
我希望获得“ 1K块”和“已使用”。     

解决方法

        正则表达式不是魔术解析项目符号。与其尝试使用正则表达式解析,不如直接获取所需的输出并阅读它,为什么不呢?
df -Bk| awk \'{print $2,$3}\'
这将为您提供一组用空格分隔的字段的行。解析它成为调用string.Split()的问题。
string[] output_lines; // presumably holds the output of df
for (int i = 0; i < output_lines.Length; i++)
{
    if (i == 0)
        continue;

    string[] b_u = output_lines[i].Split(\" \");
    string blocks = b_u[0];
    string used = b_u[1];
}
    ,        您可以使用
^\\S+\\s+(\\S+)
或在
\\s+
上分割,跳过第一行。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...