我在我的Raspberry PI上使用PHP,并且我试图在USB驱动器上找到一个文件,这将是每分钟的cron工作......
该文件有一个我每次都知道的名字(settings.txt),我有所需的输出来弄清楚我有什么驱动器.. 现在我无法弄清楚如何对它们进行排序......
我把它们全部写入一个文本文件,但是它们在每一行上都没有用\ n间隔而在它们之间没有用\ t间距...怎样才能得到" Mounted On" ?
输出:
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
答案 0 :(得分:0)
我为此使用awk。它默认按空格分割。对于我的Mac,它是9美元,而对于我的Centos盒子,它的价格为6美元。只取决于您的值是哪一列。看起来好像是6美元。
df | awk '{print $6}'
Mounted
/
/tmp
/usr/local
/var
/dev
/Volumes/MobileBackups
/Volumes/AppCode
/Volumes/LaCie
答案 1 :(得分:0)
我想我可以在搜索几个小时后使用此代码:
<?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";