我对编程很陌生。我正在编写一个 PHP 应用程序,需要执行大量 Linux shell 命令、解析 shell 输出,然后在网页上显示这些信息。
我面临的问题:
一些 Linux shell 命令的输出非常长并且不“适合文本处理”。它们的排列方式易于人类阅读,但难以在 PHP 中解析。例如,我在 PHP 中正确解析 ifconfig -a
命令的输出时遇到了很大的问题。
任何人都可以给我一些建议,解析长 Linux shell 输出的最佳方法是什么?例如,如果我的电脑中有很多接口(interface),ifconfig -a
的输出可能会变得很长,不同的部分/段落显示不同接口(interface)的详细信息。
假设接口(interface)的数量是可变的,并且每个段落中的输出行数也是可变的,我应该如何编写一个能够适应变化并从每个接口(interface)中提取重要信息(例如IP地址)的PHP函数、网络掩码、广播等)?
最佳答案
这些程序的输出不稳定。不久前,DailyWTF 曾有一集关于此事的报道。当应用程序更新、环境设置不同或者代码跨平台时,依赖它的代码可能会中断。
Mark B 是对的,如果机器要读取此信息,请转到/proc 或数据实际所在的位置。 广告字体!
如果你真的想破解它,请在行上preg_match
来寻找有趣的模式。
关于php - 如何解析 Linux shell 的长输出( "not text-processing friendly")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6626037/