微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在PHP中处理shell输出

我正在尝试编写一些PHP报告function的shell脚本。 所以我开始使用diskusage报告

我想要以下格式

drive path ------------total-size --------free-space

没有其他的

我的脚本是

什么是MysqL 5.7的认根口令

rundeck:辅助sudo密码身份validation不起作用

当perf stat没有提供线索时,我怎样才能解释一个较慢的执行?

写入/ dev / uinput(在Ubuntu 12.04上)

影响Linux上Java 6中NetworkInterface.getNetworkInterfaces枚举的顺序

$output = shell_exec('df -h -T'); echo "<pre>$output</pre>";

输出如下所示

Filesystem Type Size Used Avail Use% Mounted on /dev/sda6 ext3 92G 6.6G 81G 8% / none devtmpfs 3.9G 216K 3.9G 1% /dev none tmpfs 4.0G 176K 4.0G 1% /dev/shm none tmpfs 4.0G 1.1M 4.0G 1% /var/run none tmpfs 4.0G 0 4.0G 0% /var/lock none tmpfs 4.0G 0 4.0G 0% /lib/init/rw /dev/sdb1 ext3 459G 232G 204G 54% /media/Server /dev/sdb2 fuseblk 466G 254G 212G 55% /media/BACKUPS /dev/sda5 fuseblk 738G 243G 495G 33% /media/virtual_machines

我怎样才能将输出转换成我的forn matted输出

使用boost文件系统parsing符号链接

PHP exec或shell_exec在脚本执行结束后不会终止它的进程

Perl IPC不使用共享内存?

BIRT报告不会在Linux上显示Unicode字符

mpu9250 IMU加速度计和陀螺仪数据格式

像这样的东西:

// Use awk to pull out the columns you actually want $output = shell_exec('df -h -T | awk '{print $1 " " $3 " " $5}''); // Split the result into an array by lines (removing the final lineFeed) $drives = split("[r|n]",trim($output)); // Chuck away the unused first line array_shift($drives); echo "<pre>drive pathttotal-sizetfree-spacen"; foreach($drives as $drive) { // Explode the individual lines to get the values $values = explode(" ",$drive); echo $values[0],"t",$values[1],$values[2],"n"; } echo "</pre>";

无论如何都应该让你去

为什么不使用PHPdisk_total_space()和disk_free_space()函数呢? 否则,一种方法是使用preg_函数将$输出解析为多维数组,将'g','k','m'字符转换为数字,然后将列总和。 或者,如果列空间是单个制表符或一组空格,则可以将每行分解为多维数组。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐