使用 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-blocks”和“Used”。
How do I parse the df-Bk Linux command output with C# regular expressions?
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
I wish to get "1K-blocks" and "Used".
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
正则表达式不是神奇的解析子弹。与其尝试使用正则表达式进行解析,为什么不直接获取您想要的输出并直接读取它呢?
这将为您提供一组带有空格分隔字段的行。解析这个问题就变成了调用 string.Split()
Regex is not a magic parsing bullet. Rather than try to parse with regex, why not get the output you want more directly and just read it?
This will get you a set of lines with space-delimited fields. Parsing this becomes a matter of calling string.Split()
您可以使用
^\S+\s+(\S+)
或在\s+
上拆分,但跳过第一行。You could use
^\S+\s+(\S+)
or split on\s+
, skip first line tho.