php - 如何解析 Linux shell 的长输出( "not text-processing friendly")?

标签 php linux shell text-processing

我对编程很陌生。我正在编写一个 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/

相关文章:

php - mysql中的行编号

linux - 需要编写脚本来添加数字的帮助

php - 使用 PHP 编辑 SVG 文件

javascript - 避免 CSRF JavaScript

c++ - UNIX 系统调用的排序规范

linux kallsyms R 符号不显示

获取文件系统信息的 Linux API

linux - 使用带有 --parseopt 的 git rev-parse 访问 shell 脚本中的命名参数

linux - 向其提供输入后在后台运行 node.js 进程

php - 多条件查询记录