Php 如何在HTML表中格式化shell输出
我试图在网页上显示以下shell命令的输出:“df-h”和“ps au”在HTML表中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
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”命令输出(注意命令列中有几个空格)
谢谢阅读。这是一个相当棘手的问题。您甚至不能将列标题用作指示符(例如,“容量”未对齐)。您几乎必须使用启发式方法来正确地解析它,这可能过于广泛和复杂,无法在这里给出完整的答案。为什么不直接将其输出为
?是的。无论如何,只要使用标记,您就可以得到一个很好的格式化输出。哦,对不起,已经说谢谢你了!我想那只能是一个简单的问题了。