Php 如何在HTML表中格式化shell输出

Php 如何在HTML表中格式化shell输出,php,shell,format,output,Php,Shell,Format,Output,我试图在网页上显示以下shell命令的输出:“df-h”和“ps au”在HTML表中 Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk0s2 233Gi 23Gi 210Gi 10% 6022722 55046718 10% / devfs 184Ki 184Ki 0Bi 100% 635 0

我试图在网页上显示以下shell命令的输出:“df-h”和“ps au”在HTML表中

Filesystem      Size   Used  Avail Capacity iused    ifree %iused  Mounted on
/dev/disk0s2   233Gi   23Gi  210Gi    10% 6022722 55046718   10%   /
devfs          184Ki  184Ki    0Bi   100%     635        0  100%   /dev
map -hosts       0Bi    0Bi    0Bi   100%       0        0  100%   /net
map auto_home    0Bi    0Bi    0Bi   100%       0        0  100%   /home
我在Stackoverflow和Google上找到了几种解决方案(使用awk、column等),但它们都没有考虑到输出表的结果单元格包含空格。由于单元格中和两列之间可能有空格,我不知道如何正确地将输出拆分为列并填充HTML表

Filesystem      Size   Used  Avail Capacity iused    ifree %iused  Mounted on
/dev/disk0s2   233Gi   23Gi  210Gi    10% 6022722 55046718   10%   /
devfs          184Ki  184Ki    0Bi   100%     635        0  100%   /dev
map -hosts       0Bi    0Bi    0Bi   100%       0        0  100%   /net
map auto_home    0Bi    0Bi    0Bi   100%       0        0  100%   /home
例如,使用'df-h'命令,我在文件系统下得到了一个'map-hosts'。此时,此空格被视为列分隔符,并移动HTML表中的所有其他列

Filesystem      Size   Used  Avail Capacity iused    ifree %iused  Mounted on
/dev/disk0s2   233Gi   23Gi  210Gi    10% 6022722 55046718   10%   /
devfs          184Ki  184Ki    0Bi   100%     635        0  100%   /dev
map -hosts       0Bi    0Bi    0Bi   100%       0        0  100%   /net
map auto_home    0Bi    0Bi    0Bi   100%       0        0  100%   /home
“ps au”命令输出(注意命令列中有几个空格)


谢谢阅读。

这是一个相当棘手的问题。您甚至不能将列标题用作指示符(例如,“容量”未对齐)。您几乎必须使用启发式方法来正确地解析它,这可能过于广泛和复杂,无法在这里给出完整的答案。为什么不直接将其输出为
?是的。无论如何,只要使用标记,您就可以得到一个很好的格式化输出。哦,对不起,已经说谢谢你了!我想那只能是一个简单的问题了。