Php 已连接设备的命令行输出排序
我在我的Raspberry PI上使用PHP,我试图在USB驱动器上找到一个文件,这将在每分钟的cron作业中 该文件有一个我每次都会知道的名称(settings.txt),我有必要的输出来确定我有哪些驱动器。。 现在我想不出如何对它们进行分类 我正在将它们全部写入一个文本文件,但它们不是每行都用\n隔开,也不是在它们之间用\t隔开。。。如何获得“挂载”的值 输出:Php 已连接设备的命令行输出排序,php,ubuntu,shell-exec,Php,Ubuntu,Shell Exec,我在我的Raspberry PI上使用PHP,我试图在USB驱动器上找到一个文件,这将在每分钟的cron作业中 该文件有一个我每次都会知道的名称(settings.txt),我有必要的输出来确定我有哪些驱动器。。 现在我想不出如何对它们进行分类 我正在将它们全部写入一个文本文件,但它们不是每行都用\n隔开,也不是在它们之间用\t隔开。。。如何获得“挂载”的值 输出: Filesystem 1K-blocks Used Available Use% Mounted on /dev/r
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 3648564 3479396 152784 96% /
devtmpfs 469756 0 469756 0% /dev
tmpfs 474060 452 473608 1% /dev/shm
tmpfs 474060 6928 467132 2% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 474060 0 474060 0% /sys/fs/cgroup
/dev/mmcblk0p1 65480 20256 45224 31% /boot
tmpfs 94812 48 94764 1% /run/user/1000
/dev/sda1 15625744 5330752 10294992 35% /media/kristian/D81C-745F
设备信息:
操作系统:Ubuntu Mate 15**
PHP:5.6我会使用awk来实现这一点。默认情况下,它按空间分割。我的Mac电脑是9美元,我的一个Centos盒子是6美元。这取决于您的值是哪一列。看起来是6美元
df | awk '{print $6}'
Mounted
/
/tmp
/usr/local
/var
/dev
/Volumes/MobileBackups
/Volumes/AppCode
/Volumes/LaCie
我会用awk来做这个。默认情况下,它按空间分割。我的Mac电脑是9美元,我的一个Centos盒子是6美元。这取决于您的值是哪一列。看起来是6美元
df | awk '{print $6}'
Mounted
/
/tmp
/usr/local
/var
/dev
/Volumes/MobileBackups
/Volumes/AppCode
/Volumes/LaCie
我想我可以在搜索数小时后使用此代码:
<?php
$df = array();
echo "reading `df` command \n";
exec("df -T -x tmpfs -x devtmpfs -P -B 1G",$df);
array_shift($df);
$Stats = array();
foreach($df as $disks){
$split = preg_split('/\s+/', $disks);
$Stats[] = array(
'disk' => $split[0],
'mount' => $split[6],
'type' => $split[1],
'mb_total' => $split[2],
'mb_used' => $split[3],
'mb_free' => $split[4],
'percent' => $split[5],
);
}
echo "Completed device scan... \n";
我想我可以在搜索数小时后使用此代码:
<?php
$df = array();
echo "reading `df` command \n";
exec("df -T -x tmpfs -x devtmpfs -P -B 1G",$df);
array_shift($df);
$Stats = array();
foreach($df as $disks){
$split = preg_split('/\s+/', $disks);
$Stats[] = array(
'disk' => $split[0],
'mount' => $split[6],
'type' => $split[1],
'mb_total' => $split[2],
'mb_used' => $split[3],
'mb_free' => $split[4],
'percent' => $split[5],
);
}
echo "Completed device scan... \n";