如何parsingLinux shell的“不友好的文本处理”的长输出?

我在编程方面很新颖。 我正在编写一个需要执行大量Linux shell命令的PHP应用程序,parsingshell输出,然后在网页上显示这些信息。

我所面临的问题是:一些Linux shell命令的输出很长,而不是“文本处理友好”。 他们被安排在一个容易人阅读,但很难parsing在PHP中。 例如,我有很大的问题来parsingifconfig -a命令的输出在PHP中正确。

任何人都可以给我一些build议什么是parsing一个长长的Linux shell输出的最佳方式? 例如,如果我的电脑中有很多接口,那么ifconfig -a的输出可能会变得很长,不同的段/段显示不同接口的细节。

假设接口的数量是可变的,并且每个段落的输出行数也是可变的,那么我应该如何编写一个PHP函数来适应变化,并从每个接口中提取重要的信息(如IP地址,networking掩码,广播等)?

这些程序的输出是不稳定的。 有一段时间,有一个DailyWTF的情节。 依赖于它的代码可能会在应用程序更新时,环境设置不同或者代码跨平台时中断。

马克B是正确的,如果一台机器应该读取这个信息,去/ proc或任何数据实际上。 广告!

如果你真的想破解它, preg_match在线寻找有趣的模式。

在换行符( \n )上explode() \n )会为每行提供一个项目的数组,并在循环访问数组时使用preg_split()函数。