簡體   English   中英

如何使用正則表達式解析 linux stat 命令輸出?

[英]How to parse linux stat command output with regex?

我已經掙扎了幾個小時了。 我不能做正則表達式,也永遠不能。

我需要使用 preg_match (PHP) 捕獲文件名、大小、類型、用戶、組、訪問、修改和創建以供以后使用。

我知道這很簡單。 我就是做不到。 任何幫助將不勝感激。

這是我需要捕獲的屏幕截圖(突出顯示)

還有一個示例字符串:

  File: '/home/user/file.php'
  Size: 23283       Blocks: 48         IO Block: 4096   regular file
Device: 801h/2049d  Inode: 967703      Links: 1
Access: (0600/-rw-------)  Uid: ( 1002/user)   Gid: ( 1003/user)
Access: 2022-06-06 07:12:31.298324852 -0400
Modify: 2022-06-02 07:54:24.493383727 -0400
Change: 2022-06-02 07:54:43.548316545 -0400
 Birth: 2022-06-02 07:12:31.298324852 -0400

PS是的,我會照顧我缺乏知識的正則表達式。 我為此感到羞恥。 只是現在不是時候。

感謝我的同事: https ://regex101.com/r/uQgVHk/2

(?:File: '(?P<File>.*)')\s+(?:Size: (?P<Size>[\d]+)).*(?:IO Block: [\d\s]+(?P<Type>[\w ]+))\s+.*\s+(?:Access: (?P<Permissions>\([\w\/ \-]+\)))\s+(?:Uid: \(\s*[\d\s]+\/\s*(?P<User>[\w]+)\))\s+(?:Gid: \(\s*[\d]+\/\s*(?P<Group>[\w]+)\)).*\s+.*\s+.*\s+(?:Change: (?P<Change>[\w\- \:\.]+))\s+(?:Birth: (?P<Birth>[\w\- \:\.]+))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM