[英]PHP: Extract specific contents to separate variables from block of text in a string
我有一個名為$ driveusage的變量,其中包含以下文本塊:
Filesystem Type Size Used Avail Use% Mounted on
rootfs rootfs 111G 8.7G 96G 9% /
/dev/sda1 ext3 111G 8.7G 96G 9% /
devtmpfs devtmpfs 59M 0 59M 0% /dev
tmpfs tmpfs 61M 0 61M 0% /dev/shm
tmpfs tmpfs 61M 264K 60M 1% /run
tmpfs tmpfs 61M 0 61M 0% /sys/fs/cgroup
tmpfs tmpfs 61M 16K 61M 1% /tmp
我只需要從rootfs行中提取數據到單獨的變量(即$drivesize
, $driveused
, $drivefree
,不是數組) , size
,已used
和avail
數字,以及僅數字( 包括小數 )。
請記住,一旦超過9.9G
, used
值將顯示為10G
( 無小數點 ),而低於10G
可用值將顯示為9.9G
。
我已經嘗試過preg_replace()
每種組合,但是對於那些復雜的表達式我並preg_replace()
。 :(
您能提供的任何幫助將不勝感激:)
這是我得到的:
$df_info = explode(' ', shell_exec("df -H / | tail -1 | tr -s ' ' | cut -d ' ' -f 2,3,4"));
$df = array(
'size' => $df_info[0],
'used' => $df_info[1],
'available' => $df_info[2],
);
df -H /
獲取有關您的磁盤的人類可讀信息, tail -1
磁盤的最后一行(重要的數字, tr -s ' ' | cut -d ' ' -f 2,3,4
表示第二行,該行中的第三和第四項(“大小”,“已使用”和“可用”)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.